在 VS 2012 中,我创建了一个 DataTableReader 来读取现有的 DataTable。DataTable 配置为针对 SQLServer 数据库运行查询。当我在 DataSet 设计器中查看 DataTable 并选择 Preview Data 时,我得到了一个适当填充的表。但是,当我尝试在我的代码中使用 DataTableReader 查看它时,它返回为没有行。这是代码:
DataTableReader reader = this.myDataSet.myDataTable.CreateDataReader();
reader.Read();
if (reader.HasRows)
{
while (reader.Read())
{
Console.WriteLine("{0}", reader.GetString(0));
}
}
else
{
Console.WriteLine("reader returned no rows");
}
在 reader.HasRows 行(或之后)设置断点告诉我 HasRows 是错误的。DataTableReader 似乎与数据库建立了良好的连接,即它没有出错,但它没有返回我知道的行。您能帮我弄清楚为什么 DataSet Designer 中的 DataTable 'Preview Data' 可以工作,但不能在代码中工作吗?