日期:2014-05-17  浏览次数:20801 次

请问用adoquery如何取得有返回值的存储过程
例如,在sql/plus中如下可以通过,ss()的第一个参数是input,第二个参数是output

SQL>   var   test   varchar2(50);
SQL>   exec   ss( '8044 ',:test);

PL/SQL   procedure   successfully   completed
test
---------
8044

但是,到Delphi中这样调用却不行,怎么弄?
      ado1.Close;
      ado1.SQL.Clear;
      ado1.SQL.Add( 'var   test   varchar2(50); ');
      ado1.SQL.Add( 'exec   ss( ' '8044008 ' ',:test) ');
      ado1.open;

用ADOStoredProc可以做到,但我想请教用adoquery怎么做?


------解决方案--------------------
如果返回值里面只有一个结果集,可以试试从结果集中取数据的方法……
注意使用结果集的“字段名”或者字段序号……