Estou tentando usar uma list of lists do C# para recuperar dados de uma pesquisa em uma tabela.
A pequisa simplificada é: "select C1, C2, C3 from Table1". Ou seja, há 3 colunas e um número indefinido de registros recuperados.
Para lidar com isso eu fiz:
List<List<string>> TabValues();
List<string> Columns();
List<string> Resul();
List<string> Temp();
Columns.Add("C1");
Columns.Add("C2");
Columns.Add("C3");
TabValues.Add(Columns);
TabValues.Add(Temp);
TabValues.Add(Temp);
TabValues.Add(Temp);
Tive que incluir a lista vazia (Temp) em TabValues 3 vezes por causa dos 3 campos da tabela.
Para rodar o comando eu fiz:
rdr = Cmd.ExecuteReader();
i=0;
while (rdr.Read())
{
for (j=0; j<3; j++)
{
TabValues.ElementAt(i+1).Insert(0, GetValue(j).ToString());
}
i++;
}
Esse procedimento não funcionou. Todas as listas ficaram com os mesmos valores do primeiro registro.
Note que neste exemplo eu usei 3 colunas, mas minha rotina deve ser genérica, para qualquer número de colunas.
Alguém saberia me dizer o que há de errado no código acima? Qual a melhor maneira de fazer o que preciso?
Obrigado.