程序中有Editx.text, 表中的字段类型为长整型,在SQL中的语句'select * from tablename where A%='''+Editx.text''''。运行说数据类型不匹配怎么解决?!

解决方案 »

  1.   

    'select * from tablename where A%='+Editx.text
    注意判断editx.text能都转换成整数
      

  2.   

    改为如下:
    query1.SQL.add('select * from tablename where A='+Editx.text);
    另外,必须保证Editx.Text是整型格式的。
      

  3.   

    用参数实现比较好
    Query1.sql.clear;
    Query1.Sql.add('select * from tablename where A=:A');
    Query1.Parameters.items[0].datatype:=ftinteger;
    Query1.Parameters.items[0].value:=strtoint(Editx.text);
      

  4.   

    用wcq8303(wcq)的方法的确可以增加容纳性,看你的个人爱好!
      

  5.   

    'select * from tablename where A%="'+Editx.text+'"'
      

  6.   

    'select * from tablename where A%='+Editx.text
    确保EDITX1.TEXT里全是数字
      

  7.   

    cpilq(深╃秋) 语句会出错,就是编释不过去。
      

  8.   

    select * from tablename where A=''%'+trim(editx.text)+''''
      

  9.   

    我没看清问题
    adoquery1.sql.text:='select * from tablename where A='+strtoint(trim(editx.text))