我通常使用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
,这可能吗?