我存贮过程有三个参数,
第一个是输出参数,
后两个是输入参数。
都是字符串

解决方案 »

  1.   

    首先output参数是一定要写在最后的!  with myStoredProc do
      begin
        try
          Close;
          ProcedureName := 'OW_Clr_Orders';
          Parameters.Clear;
          Parameters.AddParameter;
          Parameters[0].DataType:=ftInteger;
          Parameters[0].Direction:=pdReturnValue;
          Parameters[0].Name:='@Return';
          Parameters.AddParameter;
          Parameters[1].DataType:=ftstring;
          Parameters[1].Direction:=pdinput;
          Parameters[1].Name:='@Lister';
          Parameters[1].Value:=pShareData.pOperator.sUserCode;
          Parameters.AddParameter;
          Parameters[2].DataType:=ftstring;
          Parameters[2].Direction:=pdInputOutput;
          Parameters[2].Name:='@OrdersNo';
          Parameters[2].Size:=10;
          Parameters[2].Value:=sFormNo;
          ExecProc;
          if Parameters[0].Value = 0 then
          begin
            sOrdersNo :=Parameters[2].Value;
            Edit_OrdersNo.text :=sOrdersNo;
          end
          else
          begin
            Showmessage('出错');
            Self.Close;
            Exit;
          end;
      end;
      

  2.   

    还少了几句是关于Try,with语句的,我就不写了吧,你自己加。
      

  3.   

    其实也跟Query差不多,调用时先传参数,用ParambyName('a2').AsSring := Edti1.Text
    ParambyName('a2').AsSring := Edti2.Text;在回传值时用 Edit3.Text := ParambyName('a1').AsString;注意不能用FieldByName!
      

  4.   

    用TADOStoredProc
    控件!!!
    过程名属性连到你的过程名上你在它的参数属性就可以看么你在过程中定义的参数了