oracle存储过程如果返回的是一个集合那么你可以把它赋值给DataSet或者DataTable都可以!
然后你就可以将DataGrid的DataSource等于这个DataSet就可以实现自动分页了(在分页事件里直接指定页码后绑定就可以了)!

解决方案 »

  1.   

    CREATE OR REPLACE PROCEDURE   REPFFORBLEAVPRC
    ( CurrentPage in number, PageSize in number, TotalRecords OUT number) 
    as 
     FirstRec number;
     LastRec  number;
     Total    number;
     nID       number;
     sName    varchar2(44);
     sCSex    varchar2(4);
     sBirthDay char(8);
     senddate  char(8);
     sforbtype varchar2(2);
     sforbunit varchar2(40);
     LocalStaCur Cursor;
     Cursor myCur is Select Count(*) 
           From fforbleavtbl ;
     Cursor Cur1 is Select name,cSex,BirthDay,enddate,ForbType,ForbUnit from fforbleavtbl;       
     Cursor Cur2 is Select name,cSex,BirthDay,enddate,ForbType,ForbUnit from tmpfforbleavtbl where id>FirstRec and id<LastRec;       
     begin
    nID:=0;
    FirstRec:= (CurrentPage - 1) * PageSize;
    LastRec:= (CurrentPage *PageSize + 1);
    Open myCur;
    Loop
    Fetch myCur Into Total;
    Exit When myCur%NOTFOUND;
    End Loop;
    Close myCur;
    TotalRecords:=Total;
        delete  from tmpfforbleavtbl;
    open Cur1;
    Loop
      fetch Cur1 Into sName, sCsex, sBirthDay,senddate, sforbtype, sforbunit ;
      insert into tmpfforbleavtbl(ID,Name, CSex, BirthDay,EndDate, ForbType, ForbUnit)
      values('0',sName, sCSex, sBirthDay,senddate, sforbtype, sforbunit);
      Exit When Cur1%NOTFOUND;
      nID:=nID+1;
    end Loop;
    close Cur1;
        OPEN  LocalStaCur FOR 
            Select name,cSex,BirthDay,enddate,ForbType,ForbUnit from tmpfforbleavtbl where id>FirstRec and id<LastRec;
        
    end;现在,我怎么把 Cursor Cur2 里面的数据输出去,或者直接输出游标
      

  2.   

    怎么返回这些数据
      Cursor Cur2 is Select name,cSex,BirthDay,enddate,ForbType,ForbUnit from   tmpfforbleavtbl where id>FirstRec and id<LastRec;  我已经用游标取出来了,但是我在存储过程中怎么返回啊,