用adoquery控件,存储过程的输出参数为@no,我是这么写的:
with adoquery1 do
begin
  close;
  clear;
 add('exec price :no');---这句话是不是有问题?
 execsql;
 edit1.txt:=adoquery1.paramters.parambyname('@no').value;---???
end;
运行时是'提供了@no参数,可找不到这个参数'?????请大家帮忙!

解决方案 »

  1.   

    不,   用 TADOStoredProc吧!
      

  2.   

    with ADOStoredProc1 do
    begin
      Name := 'price';
      Parameters.CreateParameter('@NO',ftString,pdOutPut,20,0);
      ExecProc;
      Edit1.Text := Parameters.ParamByName('@NO').Value;
    end;
      

  3.   

    不返回结果集的我一直用adocommand
      

  4.   

    大虾,如果我有两个输出参数该怎么写啊?还有一个@price,写到edit2.txt中.
      

  5.   

    顺便问一下,Parameters.CreateParameter('@NO',ftString,pdOutPut,20,0)里的20和0分别代表什么意思?
      

  6.   

    with ADOStoredProc1 do
    begin
      Name := 'price';
      Parameters.CreateParameter('@NO',ftString,pdOutPut,20,0);
      Parameters.CreateParameter('@Price',ftFloat,pdOutPut,20,0);
      ExecProc;
      Edit1.Text := Parameters.ParamByName('@NO').Value;
      Edit2.Text := Parameters.ParamByName('@Price').Value;
    end;