with Query1 do
try
  sql.clear;
  sql.add('declare @param1 varchar(20), @param2 varchar(30)';
  sql.add('set @param1=''abc''');
  sql.add('exec abc1 @param1 ');
  sql.add('exec abc2 @param2 output');
  sql.add('select @param2');
  open;
  showmessage(fields[0].asstring);  
except
  ShowMessage(..)
end;

解决方案 »

  1.   

    上面说的是在Query Analyzer能用的,把它加到query.sql.text 也就能用。
    在Query Analyzer可以直接调用已有的存储过程序,query也可以你它那样调用。declare 是定义变量
    set 赋值
    exec 是运行某存储过程,或某命令。
    最后output是说这个存储过程中的参数是输出的,加入output关键字,有值输出,像delphi的var, out那样必须加。
    老天,看一下sql book on line
      

  2.   

    大侠,我还真的不知道哪儿有讲这个的,delphi的帮助里有吗?再麻烦一下:哪里有这类资料。感激不尽……
      

  3.   

    你安装了SQLServer吗?
    就在那,叫"Books OnLine",虽然是English,但是很多demo