Array
(
)

Código não da erro

Pjava
   - 02 ago 2012

Fiz esse código e no momento de gerar a planilha, dá erro dizendo que não existe dados. Porem na linha do HasRows, está em true. Onde está o erro? Abaixo código completo:
private bool ExportaExcel(string valor)
{
string Erro = ;
string sql = select * from tbl_endereco where logradouro like % + valor + ;
string caminho = @D:\CLS Documentos\meu_teste.xls;
SqlConnection conecta1 = new SqlConnection();
conecta1.ConnectionString = ConfigurationManager.ConnectionStrings[conectDarf].ConnectionString;
SqlCommand cmd = new SqlCommand();

using (StreamWriter sw = File.CreateText(caminho))
{
try
{
conecta1.Open();
cmd.Connection = conecta1;
cmd.CommandText = sql;
SqlDataReader dr = cmd.ExecuteReader();
if (dr.HasRows)
{
sw.WriteLine(dr[idendereco].ToString() + \t + dr[logradouro].ToString() + \t + dr[numero].ToString() + \t + dr[complemento].ToString() + \t + dr[cep].ToString() + \t + dr[sigla_uf].ToString() + \t + dr[cidade].ToString() + \t + dr[bairro].ToString());
}
}
catch (Exception ex)
{
Erro = ex.Message;
return false;
}
finally
{
}
}
return true;
}

Pjava
   - 03 ago 2012

A dúvida era trazer de alguma forma, somente os registros que fossem válidos, ou seja, se existem na planilha e no BD. Bem, fiz isso e joguei tudo em um DataTable. Agora, como eu faço um select ou outra coisa equivalente dentro de um datatable para trazer os dados inseridos nele?