假如我有这样一个存储过程
create proc XX
as
if 1=1
  return 1  //此时返回了一个参数,想传给delphi中的一个int变量
select 1
godeclare @变量 int//这是我在SQL中所执行的。
exec @变量=XX想在delphi中执行,怎么做。一般的存储过程 sql.text:='exec xx',现在我不知道如何把返回的参数给delphi中我定义的一个变量。希望大家能够帮帮忙

解决方案 »

  1.   

    用ADO的话ADOStoredproc.paramters[0]的值就是存储过程的返回值ADOStoredproc.close;
    ADOStoredProc.procedurename := 'xx';
    ADOStoredProc.paramters[1] := 参数

    ADOStoredProc.execproc;执行完后,ADOStoredProc.paramters[0]中的值就是返回值用ADOQuery也可以
      

  2.   

    用adoquery
    with adoquery do
    begin
    close
    sql.clear;
    sql.add('execute xx');
    open;
    if not eof then
      yourvariable:=field[0].value;
    end;
      

  3.   

    用控件ADOStoredproc
    我只会瞎说
      

  4.   

    如果用ADOStoredProc.procedurename := 'xx';
    ADOStoredProc.paramters[1] := 参数

    ADOStoredProc.execproc;我想从程序中传一个参数进去的话是不是用
    ADOStoredProc.paramters[1].value := 要传参数的值;
    我用了但是不行呀。
    我只有一个参数要传,并且在参数序列中的编号也是为1。
    请大家指点