数据库服务器有存储过程,只接收int型的参数传入,但用edit1编辑框,只能是字符串,怎么样转换成int类型,也就是XXX处应该怎么写。
StoredProc1.Params[0].AsWord:=edit1.XXXX;(XXX处该怎么写?)
StoredProc1.Prepare;
StoredProc1.ExecProc;

解决方案 »

  1.   

    StoredProc1.Params[0].AsString:=edit1.XXXX;搞定!!!
      

  2.   

    StoredProc1.Params[0].asinteger:=strtoint(edit1.text);
      

  3.   

    各位,我晕啦,帮一下忙?
    存储过程为:
    create procedure addpassnum
    @temp int
    as 
    update passnum set passnum=passnum+1 where hgnum=@temp
    在程序中调用
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    ADOStoredProc1.Parameters[0].Assign:=edit1.text;(此处报错!)
    ADOStoredProc1.Prepared;
    ADOStoredProc1.ExecProc;
    end;
    end.
    报错如下:
    [Error] Unit1.pas(30): Not enough actual parameters
    [Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
      

  4.   

    ADOStoredProc1.Parameters[0].Asstring:=edit1.text;(改一下这里。)
    ADOStoredProc1.Prepared;
    ADOStoredProc1.ExecProc;
      

  5.   

    chyyym(陈钟鸣) 兄,存储过程中能接收的是int类型。
    并且参数在十位以上
      

  6.   

    ADOStoredProc1.Parameters[0].Asstring:=edit1.text;(改一下这里。)
    ADOStoredProc1.Parameters.ParamByName('@XXX').Value:=edit1.text;