adoquery1.sql.clear;
adoquery1.sql.add('exec proc1 :param1');
adoquery1.paramters.parambyname('param1').value:='userdefine';

解决方案 »

  1.   


    ADOStoredProc1.ExecProc;
    Edit1.Text := ADOStoredProc1.Parameters.ParamByName('@op').Value;
      

  2.   

    如果是用SQL语句的话写成:'EXEC proc :op OUTPUT';
      

  3.   

    我记的李唯的一本书里面有这样一个存储过程:
    CREATE Procedure RaiseSalary @percentage int ,@RecCount int OUTPUT
    AS
    begin
     update ADOTEstDatas set salary =Salary +Salary*(@percentage/100)
    set @RecCount=@@rowcount
    end
    然后在使用时好象是:
    ADOStoredProc1.ExecProc;
    Edit1.text:=IntToStr(ADOStredProc1.Parameters.ParamByName('@Recount').value);
    ADOStoredProc1.Refresh;
      

  4.   

    在sp控件定义参数时将参数定义成output类型,执行后再将存储过程输出参数赋值给变量就可以了。