由于数据库的字段是整型和货币型,在查询时(用SQL)利用EDIT取值,当输入的是数字时可以正确查询,但输入汉字就不行,是不是要加类型转换?(因为谁也不能保证用户输入的是数字)求教!!!

解决方案 »

  1.   

    你可以在edit的onkeypress事件中判断,只让输入数字。
    或者在查询之前,判断edit内是否正常的数字。
      

  2.   

    看看key对应的值表,取一个范围,如果超出这个范围,就showmessage('请输入数字');
      

  3.   

    保证输入的是数字考虑设置所关联字段的eidtformat:='#.00';或Displayformat:='#.00'(根据自己的需要设置)就可以了。
      

  4.   

    1:
      procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
      begin
        if not (key in ['1'..'9','.',#8]) then
          key:=#0;
      end;
    2:
      try
        strtofloat(edit1.text);
      except
        showmessage('错误数字');
      end;
      

  5.   

    netwolfds(晓竹) ( ) 信誉:100  的方法最好
      

  6.   

    控制用户的输入
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if (key in ['1'..'9','.',#8]) then
        abort;
    end;