procedure TForm1.Edit5Change(Sender: TObject);
BEGIN
if CheckBox2.Checked=true then
Begin
   adoquery1.Close;
   adoquery1.SQL.Clear;
   adoquery1.SQL.Add('select * from 设备维修记录 where 设备名称 like '''+'edit5.text%'+''' ');
   adoquery1.Open;
end;
end;
为什么当我在Edit5中输入内容时,dbgrid查询不到符合条件的记录?

解决方案 »

  1.   

    adoquery1.SQL.Add(format('select * from 设备维修记录 where 设备名称 like ''%s'' ',[edit5.text + '%']);
      

  2.   

    adoquery1.SQL.Add('select * from 设备维修记录 where 设备名称 like '+ #39 + edit5.text + '%' + #39);
      

  3.   

    伙计字符串中单引号中两个单引号等价于Sql语句中的一个单引号,当然要在两个引号中加一个单引号还可以用#39代替单引号
      

  4.   

    adoquery1.Close;
       adoquery1.SQL.Clear;
       adoquery1.SQL.Add('select * from 设备维修记录 where 设备名称 like ''%'+edit5.text+'%''');
       adoquery1.Open;
    我看这样吧!