Reader值放进Datatable的问题。
下面是我的代码:
using (SqlCommand command = new SqlCommand(sqlcmd, con))
{
DataTable dt = new DataTable();
try
{
if (con.State != ConnectionState.Open) { con.Open(); }
using (SqlDataReader reader = command.ExecuteReader())
{
dt.Load(reader);
return dt;
}
}
finally
{
if (con.State == ConnectionState.Open) { con.Close(); }
}
}
目前知道出问题的地方是dt.Load(reader);这一句。但是不知道为什么,reader里面的值存不到datatable里面去。
------解决方案--------------------dataTable.Load(DataTableReader)
------解决方案--------------------是不是要dt.Fill(reader).
------解决方案--------------------C# code
用sqlDataAdapter
和dataset
来填充
------解决方案--------------------
仅这段代码应该没错,可能别的代码有错。会不会select出0条记录?
------解决方案--------------------
------解决方案--------------------
using (SqlCommand command = new SqlCommand(sqlcmd, con))
{
DataTSet ds = new DataTable();
try
{
if (con.State != ConnectionState.Open) { con.Open(); }
using (SqlDataReader reader = command.ExecuteReader())
{
reader.Fill(ds,"aa");
return ds;
}
}
finally
{
if (con.State == ConnectionState.Open) { con.Close(); }
}
}
用DataSet.Tables[0] 或者DataSet.Tables["aa"]就是你想要的dt
------解决方案--------------------
这行打错了
是DataSet ds = new DataSet();