1看看字段CODE是否为FLOAT类型!
2.edit中的text是否有非法字符!
3.置换5,6行语句试试!
4.重定义参数试试!

解决方案 »

  1.   

    那就将
    Parameters.ParamValues['Code']:=StrToFloat(Form1.Edit1.Text);
    改成
    Parameters.ParamByName('Code').Value:=StrToFloat(Form1.Edit1.Text);
    试试
    前提:你的AdoQuery1.ParamPrepare设置为True
      

  2.   

    在确保数据类型与参数类型相同的情况下,下面的参数传递方式
    应该可以屏蔽参数名与字段名相同的情况,    Parameters[0].value:=StrToFloat(Form1.Edit1.Text);
      

  3.   

    同意楼上的
    ADO好像不能用Parambyname吧???????
    孔方兄,你是怎么用的呀,能说说吗?
      

  4.   

    Params.Items[0].AsFloat:=...
    最好不要在设计期做:
    "我的ADOQuery1的parameters属性设立了一个参数’Code‘"
      

  5.   

    adoquery2.parameters.parambyname('code').value:=StrToFloat(Form1.Edit1.Text);
    ======try it======
      

  6.   

    干脆直接用:
    with DataModule2.ADOQuery1 do
      begin
        Close;
        SQL.Clear;
        SQL.Add('select* from CInfor where Code='+ Form1.Edit1.Text);
        Open;
      end;
    不就行了?