我通常使用DataSet它,因为它非常灵活。最近我被分配了代码优化任务,为了减少对数据库的命中,我在一个过程中更改了两个查询。一个查询返回count,另一个返回actual data。也就是说,Mystored procedure返回两个表。现在,我知道如何使用 读取两个表DataSets,但我需要使用 读取两个表DataReader。在搜索中,我找到了This。
我按照这篇文章编写了这样的代码:
dr = cmd.ExecuteReader();
while (dr.Read())
{
}
if (dr.NextResult()) // this line throws exception
{
while (dr.Read())
{
但是我在 dt.NextResult 遇到了一个异常。例外是:
Invalid attempt to call NextResult when reader is closed.
我也搜索了上面的错误,但仍然无法解决问题。任何帮助都感激不尽。我需要使用 读取多个表datareader,这可能吗?