无法将SQL数据读取器数据加载到DataTable中
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();
创建的ExecuteReader();
和HasRows
是true
,它显示正确的字段数量。 但是,我从它创建的DataTable
是空的。
我究竟做错了什么? 我99%肯定它正在获取数据,但我不知道如何通过SqlDataReader
对象找到它以确保。
谢谢。
而不是SqlDataReader
,使用SqlDataAdapter
。
SqlDataAdapter myAdapter = new SqlDataAdapter(command); myAdapter.Fill(datatable);
使用SqlDataAdapter
,您无需显式调用SqlConnection.Open()
和SqlConnection.Close()
。 它在Fill()
方法中处理。