Minha pergunta é como obter o número de linhas retornadas por uma consulta SqlDataReader
em C #. Já vi algumas respostas sobre isso, mas nenhuma foi claramente definida, exceto uma que afirma fazer um loop while com o Read()
método e incrementar um contador.
Meu problema é que estou tentando preencher uma matriz multidimensional com a primeira linha sendo os nomes dos cabeçalhos das colunas e cada linha depois disso sendo os dados da linha.
Sei que posso simplesmente despejar as coisas em um controle List e não me preocupar com isso, mas para minha própria edificação pessoal e também gostaria de inserir e retirar os dados do array conforme eu escolho e exibi-lo em diferentes formatos.
Então eu acho que não posso fazer o modo Read()
e incrementar ++ porque isso significa que eu teria que abrir Read()
e abrir Read()
novamente para obter a quantidade de linhas e depois os dados da coluna.
Apenas um pequeno exemplo do que estou falando:
int counter = 0;
while (sqlRead.Read())
{
//get rows
counter++
}
e um loop for para percorrer as colunas e estourar
something.Read();
int dbFields = sqlRead.FieldCount;
for (int i = 0; i < dbFields; i++)
{
// do stuff to array
}