我有一个带有这个签名的存储过程:
CREATE PROCEDURE SI_Inteligence(@dt datetime, @actions varchar(6), @FullData cursor varying out)
此过程返回一个打开的游标。
我需要什么样的组件来捕获它并逐条记录迭代它?它只是存储过程中的一个参数!
procedure DoIt;
var sp: TADOStoredProc;
x: TADODataSet; //?
begin
sp := TADOStoredProc.Create(Self);
sp.Connection := myConnection; //TADOConnection Component
sp.ProcedureName := 'SI_Inteligence';
sp.Parameters.ParamByName('@dt').Value := date;
sp.Parameters.ParamByName('@actions').Value := 'something';
sp.ExecProc;//? Open doesn't return anything
x := TADODataSet.Create(Self);
//How load the cursor??
x.Assign(sp.Parameters.ParamByName('@FullData') as TADODataSet); //crash
end;
现在我需要循环那个光标。我怎样才能做到这一点?