在将SQL Data Reader数据加载到DataTable时遇到问题
本文关键字:DataTable 遇到 问题 加载 SQL Data Reader 数据 在将 | 更新日期: 2023-09-27 18:11:49
string query = "select * from cfo_daily_trans_hist";
try
{
using (SqlConnection connection = new SqlConnection(
cnnString))
{
SqlCommand command = new SqlCommand(query);
command.Connection = connection;
connection.Open();
var result = command.ExecuteReader();
DataTable datatable = new DataTable();
datatable.Load(result);
connection.Close();
}
}
因此,var result
是通过ExecuteReader();
创建的,HasRows
是true
,并且它显示了正确的字段数量。但是,我从它创建的DataTable
是空的。
我做错了什么?我99%确定它正在获取数据,但我不知道如何通过SqlDataReader
对象找到它来确保。
谢谢。
用SqlDataAdapter
代替SqlDataReader
。
SqlDataAdapter myAdapter = new SqlDataAdapter(command);
myAdapter.Fill(datatable);
对于SqlDataAdapter
,您不需要显式调用SqlConnection.Open()
和SqlConnection.Close()
。它在Fill()
方法中处理。
您可以尝试添加"COALESCE"在你的SQL命令语句中…如果查询结果中有一些NULL值,那么dataTable