Delphi调用MSSQL存储过程返回的多个数据集的方法

Posted jijm123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi调用MSSQL存储过程返回的多个数据集的方法相关的知识,希望对你有一定的参考价值。

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;

以上是关于Delphi调用MSSQL存储过程返回的多个数据集的方法的主要内容,如果未能解决你的问题,请参考以下文章

sqlalchemy 调用 mssql存储过程如何获取返回值?

oracle中的存储过程如何返回查询到的多个值?

mssql 里面存储过程插入了条数据之后的返回

Oracle如何创建存储过程和如何调用存储过程

mssql 存储过程调用另一个存储过程中的结果的方法分享

mssql 存储过程调用另一个存储过程中的结果的方法分享