dm.qtsc.SQL.Clear;
dm.qtsc.sql.Add('select * from qt where dw like :dw1 and qtlx=:qtlx1');
dm.qtsc.ParamByName('qtlx1').AsString:=combobox1.Text;
dm.qtsc.ParamByName('dw1').AsString:=edit1.Text+'%';
dm.qtsc.Open;
为什么这么写模糊查询不好用呢,也就是得不到结果

解决方案 »

  1.   

    我怎么看不懂啊
    where filename like '%''+变量+''%'
      

  2.   

    你最好要把edit贺和combobox中的空格去掉如:
    dm.qtsc.ParamByName('qtlx1').AsString:=trim(combobox1.Text);
    dm.qtsc.ParamByName('dw1').AsString:=trim(edit1.Text)+'%';不过我说最好,你最好在dm.qtsc.Open;这句设一个断点,把dm.qtsc.sql的值查出来,才知道哪里有问题的说,人家有调试的工具为啥不用哩:)
      

  3.   

    在open之前用showmessage(dm.qtsc.sql.text)看sql语句有没有问题
      

  4.   

    我用这个showmessage(dm.qtsc.sql.text)试了,没什么问题
    对了上面的那位老兄,怎么样设置断点的时候查出dm.qtsc.sql阿
    我以前用asp的时候做一个输出语句,就能得到当前的sql语句的运行情况,而且里面的条件都很清楚,可是到delphi就不知道了,有什么办法吗
      

  5.   

    你的 SQL语句写的有问题呀!伙计!
      

  6.   

    可能是 womanlee(小蜜蜂) 说的情况吧,你的语法应该没有问题了
    关于调试你可以这么做,先在选中:dm.qtsc.Open;语句,按一下F9,就会发现前面多了一个红点,这就表示设置了一个段点
    当程序运行到这里的时候就会停下来,你选中dm.qtsc,使用右键菜单,选则Debug中的Evalute/modify...
    在弹出对话框的Expression中输入dm.qsc.sql.text,那么在下面的Result域就会出现你想要的东西,剩下的工作你自己应该知道了