用delphi怎样获得存取过程的反回值,
1,如果它的存取过程中,有一个输出值(或二,三个输出值),偶们在delphi中用ado是怎么得到它的输入值的??

解决方案 »

  1.   

    下先,机器要reboot,一会再回来
      

  2.   

    TQuery.sql如下写
    eg:
     ADD('DECLARE @a INT ');
     ADD('DECLARE @B INT ');
     ADD('EXEC PROC(@A,@B)');//可能要go,跟你的数据库系统做相关修改,sybase11.25上需要,sybase12.5上不能要
     ADD('SELECT @A A,@B B');
      

  3.   

    这里是procedure,@a,@b是函数的带回值,function同理 @a=func1
      

  4.   

    ADOStoredProc1.Active := False;
        ADOStoredProc1.Parameters.ParamValues['pcard_num'] := acard;
        ADOStoredProc1.Parameters.ParamValues['pbox_num'] := abox;
        ADOStoredProc1.Parameters.ParamValues['pnumber'] := anum;
        ADOStoredProc1.Parameters.ParamValues['pname'] := aname;
        ADOStoredProc1.Parameters.ParamValues['sign'] := aSign;
        ADOStoredProc1.Parameters.ParamValues['housecode'] := Trim(HouseCode);
        ADOStoredProc1.Parameters.ParamValues['oper_type'] := aOperType;    ADOStoredProc1.Active := True;
        //ADOStoredProc1.ExecProc;
        //返回值
        ReturnValue := ADOStoredProc1.Parameters.ParamValues['RETURN_VALUE'];
      

  5.   

    var
      Value : string;
    begin
      with ADOStoredProc1 do
      begin
        ProcedureName := '存储过程名';
        Parameters.CreateParameter('ParametersName', ftString, pdOutput, 20, Value);
        ExecProc;
      end;
    end;