我在SQLSever中有个存储过程,它返回多个记录集合,请问 TADOStoredProc 怎么取得多个记录集合啊?

解决方案 »

  1.   

    直接用ADODataSet执行存储过程
    begin
     call xxx;
    end;
    然后得到返回结果集。
      

  2.   

    The following code cycles through the datasets returned by a stored procedure.var
      TempDataSet: TCustomSQLDataSet;
      nRows: Integer;
    begin
      TempDataSet := SQLStoredProc1; // start with 1st record set
      while TempDataSet <> nil do
      begin
        TempDataSet.First;
        while not TempDataSet.Eof do
        begin
          // process each record
          TempDataSet.Next;
        end;
        if TempDataSet <> SQLStoredProc1 then // don抰 free the original!
          TempDataSet.Free;    TempDataSet = SQLStoredProc1.NextRecordSet; // get next set
      end;
    end;
      

  3.   

    存储过程或是数据集的NextRecordSet才是关键var
      TempDataSet: TCustomSQLDataSet;
      nRows: Integer;
    begin
      TempDataSet := SQLStoredProc1; // start with 1st record set
      while TempDataSet <> nil do
      begin
        TempDataSet.First;
        while not TempDataSet.Eof do
        begin
          // process each record
          TempDataSet.Next;
        end;
        if TempDataSet <> SQLStoredProc1 then // don抰 free the original!
          TempDataSet.Free;    TempDataSet := SQLStoredProc1.NextRecordSet; // get next set
      end;
    end;