【发布时间】:2013-10-14 05:36:39
【问题描述】:
我有一个存储过程,它返回我在 DataReader 中捕获的两个结果集。
dr = returnData(Id,frmDate, toDate);
dt1 = new DataTable();
dt2 = new DataTable();
dt1.Load(dr);
dr.NextResult(); // Proceed to next resultset
dt2.Load(dr);
DataTable dt1 已成功填充,但 DataTable dt2 仍为空。 怎么做。甚至可能吗? DataReader 在第一次使用时会被销毁吗?
【问题讨论】:
-
NextResult()应该可以解决问题。你能告诉我们正在调用的 SPROC 吗? -
存储过程成功返回两个结果集,我已经通过直接在Sql Server Management Studio上执行来检查。
-
NextResult是否真的返回true?您显示的代码忽略了返回值。 -
@JonSkeet 好的,所以我检查了
if(dr.NextResult())...它返回 false..即使有两个结果集 -
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
标签: c# asp.net ado.net datareader