请教各位!请大家多多帮忙,我只是一位Delphi的初学者!
我想在以用户的输入作为查询条件,但编写的代码有问题无法实现,请各位帮忙指出下面代码的错误!
procedure TForm1.Button1Click(Sender: TObject);
begin
With Query1 Do
  begin
  close;
    With SQL Do
    begin
    clear;
    Add('SELECT * FROM Animals');
    Add('WHERE Name="Edit1.Text"');
    end;
  Open;  
  end;
end;
这段代码可以运行,但不是我要的结果我知道问题是出在 Name="Edit1.Text"这条语句上但不知道应该这么写!
请教各位!请大家多多帮忙,我只是一位Delphi的初学者!

解决方案 »

  1.   

    Add('SELECT * FROM Animals');
        Add('WHERE Name='+''''+Edit1.Text+'''');
      

  2.   

    Add('SELECT * FROM Animals');
        Add(' WHERE Name='''+Edit1.Text);
      

  3.   

    来晚了。其实你出可以用参数来实现而且会更好一些。
    With Query1 Do
      begin
        close;
        With SQL Do
        begin
        clear;
        Add('Select * From Animals Where Name =: Name');
        ParamByName('Name').AsString  := Edit1.text;
        end;
        Prepare;
        Open;
      end;如果这样的话,下次你使用相同的语句时,只要修改相应的参数就可以了。不用每次重复清空,添加语句的操作。   
      

  4.   

    Add('SELECT * FROM Animals');
        Add(' WHERE Name='''+Edit1.Text+'''');
      

  5.   

    把这两条:Add('SELECT * FROM Animals');
           Add('WHERE Name="Edit1.Text"');
    改成:text:='select * from animals where name='''+trim(edit1.text)+'''';