var
aintf:_Recordset;
RecordsAffected:OleVariant;
begin
ADOStoredProc1.Close;
ADOStoredProc1.Open;
aintf:=ADOStoredProc1.Recordset;
ADOQuery1.Recordset:=aintf;
aintf:=aintf.NextRecordset(RecordsAffected);
ADOQuery2.Recordset:=aintf;
end;
此时,把存储过程中生成的二个数据集分别在adoquery1,adoquery2中,将adoquery1,adoquery2与DBGrid相连中,即可.
其实,把_Recordset放到MemTable中更好.
下面是普遍的方法:
aintf:=ADOStoredProc1.Recordset;
while Assigned(aintf) do
begin
//处理当前记录集.
aintf:=aintf.NextRecordset(RecordsAffected);//取下一个记录集
end;
转自:https://blog.youkuaiyun.com/postfxj/article/details/38078869
本文介绍了一种使用Delphi中的ADO组件处理存储过程返回的多个数据集的方法。通过将_Recordset对象赋值给ADOQuery组件的Recordset属性,可以实现对数据集的连续读取和处理,同时提供了将数据集导入MemTable的建议。
1809

被折叠的 条评论
为什么被折叠?



