ERRO COM DATATABLE
Boa tarde a Todos....Segue Anexo com o erro que esta ocorrendo. Tenho que declarar o oDataRow com qual Tipo....?
Para ler dados, use o DataReader e não o DataTable
e como ficaria isso no DataReader....C# to começando agora....
Da mesma maneira que em VB.NET:
using (SqlConnection cn = new SqlConnection([Ô]Sua connectionstring aqui[Ô]))
{
cn.Open();
using (SqlCommand cmd = new SqlCommand([Ô]select * from foo[Ô], cn)
{
using (SqlDataReader dr = cmd.ExecuteReader())
{
if (dr.HasRows)
{
List<string> empresas = new List<string>();
while (dr.Read())
{
string empresa = dr.GetString(dr.GetOrdinal([Ô]Empresa[Ô]));
string razao = dr.GetString(dr.GetOrdinal([Ô]Razao[Ô]));
string item = string.format([Ô]{0} - {1}[Ô], empresa, razao);
empresas.Add(item);
}
cboEmpresas.DataSource = empresas;
}
}
}
}
O ideal seria criar uma classe Empresa, contendo como propriedades, representações dos campos da tabela empresa, preencher uma lista de objetos dessa classe, aplicar essa lista ao combo, informando qual o campo de exibição e qual o campo de valor, mas assim já vai resolver o seu problema. Mas repito, está longe do ideal.
using (SqlConnection cn = new SqlConnection([Ô]Sua connectionstring aqui[Ô]))
{
cn.Open();
using (SqlCommand cmd = new SqlCommand([Ô]select * from foo[Ô], cn)
{
using (SqlDataReader dr = cmd.ExecuteReader())
{
if (dr.HasRows)
{
List<string> empresas = new List<string>();
while (dr.Read())
{
string empresa = dr.GetString(dr.GetOrdinal([Ô]Empresa[Ô]));
string razao = dr.GetString(dr.GetOrdinal([Ô]Razao[Ô]));
string item = string.format([Ô]{0} - {1}[Ô], empresa, razao);
empresas.Add(item);
}
cboEmpresas.DataSource = empresas;
}
}
}
}
O ideal seria criar uma classe Empresa, contendo como propriedades, representações dos campos da tabela empresa, preencher uma lista de objetos dessa classe, aplicar essa lista ao combo, informando qual o campo de exibição e qual o campo de valor, mas assim já vai resolver o seu problema. Mas repito, está longe do ideal.
Tópico encerrado , respostas não são mais permitidas