我写了这样一行代码进行检索
ADODataSet1.Filter:=Trim(ComboBox1.Text)+' like '+''''+Trim(Edit1.Text)+#37+'''';
当检索的是char类型时没有任何问题,但是到int类型时就会报错,我知道是在类型的问题上出了问题,但是我应该如何改。

解决方案 »

  1.   

    要求改了之后既能查找char又能查找int,最好还能查找data类型。
    我用的是SQL数据库
      

  2.   

    这行代码没什么问题。看看ComboBox1.Text的值是否和字段名不符。
    ADODataSet1.Filter:=Trim(ComboBox1.Text)+' like '''+Trim(Edit1.Text)+'%''';
      

  3.   

    你这个设计思想本来就不是通用的,没有根本的解决方法.
    就好像: ..'''+Trim(Edit1.Text)+'%''' ,这两边的单撇号是为字符串类型使用的,
    但你遇到Int字段就不自然出错了.
      

  4.   

    >>但你遇到Int字段就不自然出错了.
    更正:但你遇到Int字段就自然出错了.
      

  5.   

    还是采用sql吧,那样一切都OK了嘛
      

  6.   

    好像int类型不能like吧,ado的filter实际上是采用了sql语句里面的where字句,她的语法规范按照sql 执行,所以会出现上面的问题把
      

  7.   

    代码本身没错,用adoquery就没有问题。建议用传参的方法~~!
      

  8.   

    filter根本就不支持like,他可以支持*