create or replace procedure thesum(x IN DATE,y IN DATE,suma OUT varchar2,sumb OUT NUMBER,sumc OUT NUMBER)
is
begin
  declare
  cursor mycur is select XF_STORECODE,sum(XF_AMTSOLD),sum(XF_QTYSOLD) from XF_TRANSSALESITEM where XF_POSTDATE>=x and XF_POSTDATE<=y group BY XF_STORECODE;
  nametypa XF_TRANSSALESITEM.XF_STORECODE%type;
  nametypb XF_TRANSSALESITEM.XF_AMTSOLD%type;
  nametypc XF_TRANSSALESITEM.XF_QTYSOLD%type;
  begin
    open mycur;
    loop
      fetch mycur into nametypa,nametypb,nametypc;
      exit when mycur%notfound;
      if mycur%found then
      dbms_output.put_line('读取nama='||nametypb||nametypc);
      suma:=nametypa;
      sumb:=nametypb;
      sumc:=nametypc;
      end if;
    end loop;
    close mycur;
   end;
 end thesum; 存储过程 使用游标循环读取数据  然后VC++调用  想吧每回循环的值全取出来。 有什么办法嘛.   sum=cmmd->Parameters->GetItem("NewNetID")->GetValue();
  sum1=(DOUBLE)cmmd->Parameters->GetItem("NewNetID1")->GetValue();
  sum2=(DOUBLE)cmmd->Parameters->GetItem("NewNetID2")->GetValue(); 这样读只能读出最后一条数据.