这样的SQL语句只能作成存储过程执行?query控件和SQLDataset等控件只能放一个SQL语句,需要编写一些代码才能使SQL Script在query控件中执行?
DECLARE @i int 
SET @i = 0 cycle: 
SET @i = @i + 1 
IF (@i < 10) GOTO cycle

解决方案 »

  1.   

    query也可以执行存储过程,参考大富翁上的例子写这个只是为了将来自查用的,呵呵,当然,不会的人也可以看看
    第一步建立proc
    create proc MyABC @a int ,@b int, @c int output 
    as
      set @c=@a*@b在SQL中执行:declare @a int,@b int,@c int 
    set @a=250
    set @b=40
    exec MyABC @a,@b,@c output --注意要添加output 关键字!
    select @c在D中:  ADOQuery1.Close;
      ADOQuery1.SQL.Clear;
      ADOQuery1.SQL.Add('execute MyABC :a,:b,:c output');//也要添加output 关键字!
      ADOQuery1.Parameters.ParamByName('a').Value:=250;
      ADOQuery1.Parameters.ParamByName('b').Value:=40;
      ADOQuery1.ExecSQL;
      showmessage(ADOQuery1.Parameters.ParamByName('c').Value); 
      

  2.   

    可以写成带有返回值的函数,调用的时候还是用select语句,用open方法打开就行