我的ACCESS数据库里面有一个表,它的一个字段UPWD是可以为空的
我在用ADOQUERY进行查询的时候,传入的相对应的参数为''可是老是提示我非法的精度数值
代码如下:
            adodata:=tadoquery.Create(nil);
            adodata.Connection:=dbase.linkdata;
            adodata.SQL.Clear;
            adodata.sql.Add('select * from operater where username=:uname and      userpwd=:upwd');
            adodata.Parameters.ParamByName('uname').Value:=trim(comboboxex1.Text);
            adodata.Parameters.ParamByName('upwd').value:=trim(edit1.Text);
            if adodata.RecordCount = 0 then
                begin
                    messagedlg('错误的用户名称或者密码.',mtinformation,[mbok],0);
                    adodata.Close;
                    adodata.Free;
                    modalresult:=mrretry;
                end
            else
                begin
                    adodata.Close;
                    adodata.Free;
                    modalresult:=mrok;
                end;
        end;
当edit1.text为空的时候就出现这个问题了
请各位高手指点
在线等...

解决方案 »

  1.   

    UPWD是不是设置了默认值?
    ----------------------------------------------------------------
                 花自飘零水自流,一种相思,两处闲愁。
                   此情无计可消除,才下眉头,又上心头。
    ----------------------------------------------------------------
      

  2.   

    adodata.Parameters.ParamByName('upwd').value:=trim(edit1.Text);//看不出问题
    这个字段估计你是设置成数字的了,把它改成文本的试
    如果是文本的话,绝对没问题的。