我正在调整其他人编写的代码,并且需要为了时间而返回DataTable。
我有这样的代码:
using (SqlCommand command = new SqlCommand(query, conn))
{
//add parameters and their values
using (SqlDataReader dr = command.ExecuteReader())
{
return dr;
}
但是返回数据表的最佳方法是什么?
答案 0 :(得分:76)
使用DataTable.Load方法用SqlDataReader中的值填充表:
using (SqlDataReader dr = command.ExecuteReader())
{
var tb = new DataTable();
tb.Load(dr);
return tb;
}
答案 1 :(得分:11)
使用DBDataAdapter
摘自ms文档
// Create the DbDataAdapter.
DbDataAdapter adapter = new DbDataAdapter();
adapter.SelectCommand = command;
// Fill the DataTable.
DataTable table = new DataTable();
adapter.Fill(table);