Recuperar valor de um SqlDataReader
19/02/2009
0
Bom dia pessoal,
sou novo nesse fórum e gostaria de contar com a colaboração de vocês. Estou desenvolvendo uma aplicacação web utilizando visual stúdio 2008, c# e banco de dados sqlServer. Preciso fazer o seguinte:
Tenho uma tabela chamada Tema que possui apenas 1 campo (´TemaSelecionado´) e apenas 1 registro (´Azul por exemplo´).
Preciso recuperar esse dado e atribuí-lo a uma variável do tipo string.
Já tentei várias coisas, mas nada rolou.
Posto abaixo o código que criei tentando resolver tal empasse.
Agradeço imensamente quem puder me ajudar.
Segue classe
Agradeço a colaboração de todos e me coloco a disposição em ajudar.
Obrigado.[color=darkblue:d02186c235][/color:d02186c235]
sou novo nesse fórum e gostaria de contar com a colaboração de vocês. Estou desenvolvendo uma aplicacação web utilizando visual stúdio 2008, c# e banco de dados sqlServer. Preciso fazer o seguinte:
Tenho uma tabela chamada Tema que possui apenas 1 campo (´TemaSelecionado´) e apenas 1 registro (´Azul por exemplo´).
Preciso recuperar esse dado e atribuí-lo a uma variável do tipo string.
Já tentei várias coisas, mas nada rolou.
Posto abaixo o código que criei tentando resolver tal empasse.
Agradeço imensamente quem puder me ajudar.
Segue classe
..... using System.Data.SqlClient; public class Tema { String myConnection = ConfigurationManager.ConnectionStrings["csDados"].ConnectionString; public Tema() { // // TODO: Add constructor logic here // Construtor em branco // } public string retornaTema() { try { String temaBD; String sql = "SELECT * FROM Tema"; SqlConnection conn = new SqlConnection(myConnection); SqlCommand cmd = new SqlCommand(sql, conn); //Abre conexão conn.Open(); //Lê os dados SqlDataReader reader = cmd.ExecuteReader(); //PEGAR O VALOR DA TABELA QUE POSSUI APENAS 1 DADO (POSIÇÃO [0 , 0]) //E ATRIBUIR ESSE VALOR A STRING temaBD = reader. //Fecha o reader reader.Close(); //Fecha conexão conn.Close(); //Retorna o nome do tema return temaBD; } catch (Exception ex) { return null; } } return temaBD; }
Agradeço a colaboração de todos e me coloco a disposição em ajudar.
Obrigado.[color=darkblue:d02186c235][/color:d02186c235]
Ramweb
Curtir tópico
+ 0
Responder
Posts
04/03/2009
Rafael Cabral
Olá. Tudo bem?
Faltou vc executar o método Read do DataReader.
Atenciosamente,
Rafael Cabral
Faltou vc executar o método Read do DataReader.
//Lê os dados SqlDataReader reader = cmd.ExecuteReader(); if (reader.Read()) temaBD = reader["CAMPO"]; reader.Close();
Atenciosamente,
Rafael Cabral
Responder
04/03/2009
Rafael Cabral
Outra coisa. Se o resultado de uma consulta tiver apenas um campo com um registro, vc pode utilizar o método ExecuteScalar. Esse método retorna o valor do primeiro registro do primeiro campo da consulta.
Como o ExecuteScalar retorna object, é necessário vc fazer um casting para atribuí-lo a uma variável.
Atenciosamente,
Rafael Cabral
SqlConnection sqlConn = new SqlConnection("STRING_CONEXAO"); SqlCommand sqlCmd = sqlConn.CreateCommand(); sqlCmd.CommandText = "SELECT CAMPO FROM TABELA WHERE ID = 1"; sqlConn.Open(); string campo = (string) sqlCmd.ExecuteScalar(); sqlConn.Close();
Como o ExecuteScalar retorna object, é necessário vc fazer um casting para atribuí-lo a uma variável.
Atenciosamente,
Rafael Cabral
Responder
Clique aqui para fazer login e interagir na Comunidade :)