照Delphi一本教程中的说的,按照通配符进行模糊查询,代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var str:string;
begin
  str:='select * from jcxs where  轿车名称 like'+""+edit1.text+'%'+"";
  query1.close;
  query1.sql.clear;
  query1.sql.add(str);
  query1.prepare;
  query1.open;
end;
procedure TForm1.Button1Click(Sender: TObject);
var str:string;
begin
  str:='select * from jcxs where  轿车名称 like'+""+edit1.text+'%'+"";
  query1.close;
  query1.sql.clear;
  query1.sql.add(str);
  query1.prepare;
  query1.open;
end;  程序总是报错,都是str字符串有错,是不是我写法上有错,我是按照书上教的做的,一模一样的
顺便问问各位前辈,我很喜欢Delphi,可是身边无人可问也无人可以教我,只有买些Delphi的书来学,如果碰到问题解决不了,唯一的办法就是通过论坛求教高手了,大家给出出主意,我该怎么办才能尽快入门,谢谢

解决方案 »

  1.   

    str:='select * from jcxs where  轿车名称 like'+""+edit1.text+'%'+"";如果没错的话,
    字符串中是不能用双引号的,
    你看看是不是用了双引号?
      

  2.   

    str:='select * from jcxs where  轿车名称 like'+''''+edit1.text+'%'+'''';
    ''<>"这个要注意...
      

  3.   

    str:='select * from jcxs where  轿车名称 like'+'+edit1.text+''%''+';
      

  4.   

    str:='select * from jcxs where  轿车名称 like'+''''+edit1.text+'%'+'''';
    ''<>"这个要注意...
      

  5.   

    应该这样,嗬嗬,
    procedure TForm1.Button1Click(Sender: TObject);
    var sqll:string;
    begin
      with query1 do
      begin
        close;
        sqll:='select * from jcxs where 轿车名称 like :a%';
        sql.Clear;
        sql.Add(sqll);
        Params[0].AsString:=trim(edit1.text);
        execsql;
        open
      end;
    end;