我的代码是这样的
procedure TQueryForm.Button1Click(Sender: TObject);
Var
sqlstr:string;begin
    if edit1.Text=''then
    showmessage('无输入,请输入查询要求!')
    else
    begin
    sqlstr:='select * from TS where 书名 like '%'+'''+edit1.text+'''+'%'  ';
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add(sqlstr);
    adoquery1.ExecSQL;
    adoquery1.Open;
    edit1.Text:='';
    end;
    end;
提示%处有错误啊  
怎么改啊???

解决方案 »

  1.   

    sqlstr:='select * from TS where 书名 like:书名   '; 
    adoquery1.SQL.Clear; 
        adoquery1.SQL.Add(sqlstr);
        ParamByName('书名').AsString := '%' + trim(edit1.text) + '%'; 
        adoquery1.ExecSQL; 
        adoquery1.Open;
      

  2.   

    procedure TQueryForm.Button1Click(Sender: TObject); 
    Var 
    sqlstr:string; begin 
        if edit1.Text=''then
        begin
          showmessage('无输入,请输入查询要求!') //下面要加EXIT;
          exit
        else 
        begin 
          sqlstr:='select * from TS where 书名 like ''%'+Edit1.Text+'%''; 
          adoquery1.SQL.Clear; 
          adoquery1.SQL.Add(sqlstr); 
          adoquery1.ExecSQL; 
          adoquery1.Open; 
          edit1.Text:=''; 
        end; 
        end; 
    试一下,对了就给分!