Recuperar valor de um SqlDataReader
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
Curtidas 0
Respostas
Rafael Cabral
19/02/2009
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
GOSTEI 0
Rafael Cabral
19/02/2009
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
GOSTEI 0