【发布时间】:2016-01-06 06:37:22
【问题描述】:
DataSet ds = new DataSet();
using (SqlConnection connection = new SqlConnection("Data Source=NSIC;Initial Catalog=Dev;User ID=sa;Password=123456"))
{
// SqlDataAdapter adapter = new SqlDataAdapter("Select * from Employee", connection);
connection.Open();
//adapter.Fill(ds);
using (SqlCommand command = new SqlCommand("Select * from Employee", connection))
{
using (SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection))
{
while (reader.Read()) //Error is here
{
var table = new DataTable();
table.Load(reader);
ds.Tables.Add(table);
}
}
}
}
GridView1.DataSource = ds;
我正在尝试从数据 sql server 中检索数据。但 while(Reader.read()) 出现错误。
阅读器关闭时调用 Read 的尝试无效 while(Reader.read()).
为什么?
【问题讨论】:
-
尝试
ExecuteReader不带CloseConnectionCommandBehavior。像这样command.ExecuteReader() -
你的读者可能是空的。在 while 循环之前测试 null。
-
为什么要每行创建一个数据表?尝试简单地删除 while 部分,将 3 行留在里面。
标签: c#