delphi如何调用有返回值的存储过程?及返回值如何取出?

解决方案 »

  1.   

    用的数据库是ms sql server2000
      

  2.   

    我不知道sql server的用法。不过可以举个oracle的例子:
    存储过程名为:proc_sjsc(in_ny,out_dm)    //调用存储过程.
        with Zw_Proc_Dm.Mqry_Sjsc do
        begin
          Close;
          SQL.clear;
          SQL.text := 'begin proc_sjsc(:in_ny,:out_dm); end;';      ParamByName('in_ny').AsString := Edt_Ny.Text;  //in
                ... ...
          ParamByName('out_dm').AsString := '-1';   //out
                ... ...
          ExecSQL;      参数 := FieldByName('ai_dm').AsString;
               ... ...
        end;
      

  3.   

    up!还是不懂,有写过sql server的来
      

  4.   

    假设你的存储过程返回了两个值,为integerQuery1.Close;
    Query1.SQL.Text := 'exec 你的存储过程 参数';
    Query1.ExecSQL;Return1 := Query1.Fields[0].AsIntreger;
    Return2 := Query1.Fields[1].AsIntreger;依此类推
      

  5.   

    上面的Query1为BDE的,ADO中的类似!!
      

  6.   

    spiderzzl(毛毛鱼):请问在SQL SERVER中,存储过程还有一个默认的返回:@Result,这个值怎么在前台取得呢
      

  7.   

    list index out of bounds(0)出现这样的提示哈信息是怎么回事呢?
      

  8.   

    @Result 应该可以由params中返回的