none
SqlDataReader capturar o retorno RRS feed

  • Pergunta

  • Olá , sou novo então me desculpem caso eu não consiga me "expressar" muito bem.


    Estou fazendo uma consulta no sqlserver  com o seguinte código. Ele me retorna os dados das colunas para que eu possa os capturar pelo array utilizando reader[]

    Quando se trata de pegar os dados apenas do primeiro registro no banco de dados está tudo certo , mas como faço para acessar os próximos registros do meu retorno?

    Ou pelo menos ir para a próxima linha? Para ler os dados através do array ?

     
    SqlCommand cmd = new SqlCommand(sql, con);      
    
    
          cmd.CommandType = CommandType.Text;            
    
    SqlDataReader reader;                        
    
    
    con.Open();      
     
    
         reader = cmd.ExecuteReader();            
    
    
    
    
    try            {        reader.Read();  
    
    
                  textBox1.Text = reader[0].ToString(); 
    
    
               } 
    
               catch            { MessageBox.Show("erro"); }

    domingo, 21 de junho de 2015 02:21

Respostas

  • Você pode iterar sobre a consulta retornada do banco.

    while (reader.Read())
    		{
    		    int coluna1 = reader.GetInt32(0);  
    		    string coluna2 = reader.GetString(1); 
    		    string coluna3 = reader.GetString(2); 
    
    		    Console.WriteLine("Coluna1 = {0}, Coluna2 = {1}, Coluna3 = {2}",
    			weight, name, breed);
    		}

    O bloco acima usa o while para acessar cada linha da consulta enquanto houver, e as próximos comandos pegam as colunas de acordo com o index delas.

    • Marcado como Resposta Thiagopc domingo, 21 de junho de 2015 03:26
    domingo, 21 de junho de 2015 02:43

Todas as Respostas

  • Você pode iterar sobre a consulta retornada do banco.

    while (reader.Read())
    		{
    		    int coluna1 = reader.GetInt32(0);  
    		    string coluna2 = reader.GetString(1); 
    		    string coluna3 = reader.GetString(2); 
    
    		    Console.WriteLine("Coluna1 = {0}, Coluna2 = {1}, Coluna3 = {2}",
    			weight, name, breed);
    		}

    O bloco acima usa o while para acessar cada linha da consulta enquanto houver, e as próximos comandos pegam as colunas de acordo com o index delas.

    • Marcado como Resposta Thiagopc domingo, 21 de junho de 2015 03:26
    domingo, 21 de junho de 2015 02:43
  • Muito obrigado , consegui entender que reader.read() vai incrementando o número da linha : ) 
    domingo, 21 de junho de 2015 03:26