^^^^^^^^^^^^^^^^^^^^^^^^^
CREATE PROCEDURE [sy_tmp] 
       @a varchar(13),
       @b float(16),
       @c varchar(20) output
as    
    select @c= 'hello';
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^储存过程    
    ADOStoredProc1.Parameters.ParamByName('@a').Value := 'a;sdlkfj';
    ADOStoredProc1.Parameters.ParamByName('@b').Value :=  123.123;
    ADOStoredProc1.ExecProc;
    showmessage(string(ADOStoredProc1.Parameters.ParamByName('@c').value));

解决方案 »

  1.   

    这段应该在服务器端执行,关键是我怎么在客户端巴参数传给服务器端,服务器端有怎么接收客户端传递来的参数执行,
    好像可以给datesetpovide加个方法,但具体怎么加我不知道我是菜鸟,请给提示
      

  2.   

     
        //delphi 5测试通过CREATE PROCEDURE sp_tmp       @a  int,
          @b  varchar(20) output
    as    select @b = 'hello';var
      str :string;
    begin
                    //关键################################################
        SetLength(str,20); //初石化,字符串内存空间,为DataSetProvider1......    clientdataset1.Params.Clear;
        clientdataset1.Params.CreateParam(ftInteger,'@a', ptInput);
        clientdataset1.Params.ParamByName('@a').AsInteger := 123;
        clientdataset1.Params.CreateParam(ftString,'@b', ptOutput);
        clientdataset1.Params.ParamByName('@b').asstring :=  str;    clientdataset1.Execute;    showmessage(clientdataset1.Params.FindParam('@b').AsString);  
      

  3.   

    airhorse(编程至尊宝) 已经实现
      

  4.   

    airhorse(编程至尊宝) 已经实现