none
Leitura de Registros RRS feed

  • Pergunta

  • Existe alguma maneira de ler os registros retornados de uma consulta sem ser com GetSqlString(0), gostaria de usar como índice o nome do campo no lugar da posição, tipo assim GetSqlString("Nome").

    Grato.


    segunda-feira, 12 de maio de 2008 17:48

Respostas

  •  

    Olá Felipe,

     

    Seguinte, para ler registros de um DataReader, você pode ler de três maneiras diferentes, são elas:

     

    Code Snippet
     reader.GetString(1).ToString();         //A que você já usa
     reader["LEITURA"].ToString();           //A que você gostaria de usar, eu acredito
     reader[1].ToString();                   //A mais rápida

     



    Acho que isso resolve, mais informações você pode ver no seguinte artigo:

     

    http://www.microsoft.com/brasil/msdn/Tecnologias/vbnet/DataReader.mspx

     

     


     

    terça-feira, 13 de maio de 2008 14:36

Todas as Respostas

  •  

    Olá Felipe,

     

    Gostaria de saber qual objeto você está usando para fazer a leitura dos dados no banco, se possível poste um trecho de código...

     

    Cristian Fernandes

    terça-feira, 13 de maio de 2008 13:54
  • Obrigado pela a atenção Cristian,

    Estou usando um objeto da classe SqlCeDataReader para fazer a leitura dos dados, tá funcionando beleza, mas não acho uma boa prática usar a posição dos campos para passar parâmetros e para obter os resultados, fica melhor se eu poder usar o nome da coluna.

    Segue o código:

    Code Snippet

    sql =   "SELECT REFERENCIA, LEITURA, CONSUMO, OCORRENCIA, ANORMALIDADE " +
    "FROM HISTORICOS " +
              "WHERE MATRICULA = @MATRICULA";

    sqlc = new SqlCeCommand(sql, conexao.sConn);

    sqlc.Parameters.AddWithValue("@MATRICULA", bc.matricula); // Usando o nome do parãmetro ao invés de seu índice

    reader = sqlc.ExecuteReader();

    for (int i = 0; reader.Read(); i++)
    {
              string referencia = reader.GetSqlString(0).ToString(); // Usando o índice ao invés do nome da coluna
              string leitura = reader.GetSqlString(1).ToString();
              string consumo = reader.GetSqlString(2).ToString();
              string ocorrencia = reader.GetSqlString(3).ToString();
              string anormalidade = reader.GetSqlString(4).ToString();

    bc.historico[ i ] = new BeanHistoricoConsumo(referencia, leitura, consumo, ocorrencia, anormalidade);
    }

    reader.Close();

    terça-feira, 13 de maio de 2008 14:24
  •  

    Olá Felipe,

     

    Seguinte, para ler registros de um DataReader, você pode ler de três maneiras diferentes, são elas:

     

    Code Snippet
     reader.GetString(1).ToString();         //A que você já usa
     reader["LEITURA"].ToString();           //A que você gostaria de usar, eu acredito
     reader[1].ToString();                   //A mais rápida

     



    Acho que isso resolve, mais informações você pode ver no seguinte artigo:

     

    http://www.microsoft.com/brasil/msdn/Tecnologias/vbnet/DataReader.mspx

     

     


     

    terça-feira, 13 de maio de 2008 14:36
  • Obrigadão Cristian!!!
    terça-feira, 13 de maio de 2008 14:41