procedure TForm1.BtnFindClick(Sender: TObject);
begin
if (Trim(Edit1.Text)='') then
MessageDlg('没有输入教材名!',mtError,[mbCancel],0)
else
begin
try
ADOQuery1.Locate('mingzi',Edit1.Text,[loPartialkey,loCaseInsensitive]);
这一句对不对?怎么改?\\ADOQuery1.SQL.ADD('Select * From Book Where mingzi like ')='%'+edit1.Text+'%';
if not ADOQuery1.Locate('mingzi',Edit1.Text,[loPartialkey,loCaseInsensitive])then
MessageDlg('没有找到该记录!',mtError,[mbCancel],0)
except
MessageDlg('您的输入有误!',mtError,[mbCancel],0)
end;
end;
end;
上边的代码```请问下如何改成LIKE查询?我是想找出完全匹配的名字````SQL语句插不进去啊````前边已经用ADO连上了```

解决方案 »

  1.   

    try
      ADOQuery1.SQL.clear;
      ADOQuery1.SQL.ADD('Select * From Book Where mingzi like ''%' + Trim(edit1.Text) + '%''');
      ADOQuery1.Open;
      if not ADOQuery1.Locate('mingzi',Edit1.Text,[loPartialkey,loCaseInsensitive])then
        MessageDlg('没有找到该记录!',mtError,[mbCancel],0) 
      

  2.   


    procedure TForm1.BtnFindClick(Sender: TObject); 
    begin 
      if (Trim(Edit1.Text)='') then 
        MessageDlg('没有输入教材名!',mtError,[mbCancel],0) 
      else 
      begin 
        try 
          ADOQuery1.close;
          ADOQuery1.SQL.text := 'Select * From Book Where mingzi like ')='%'+edit1.Text+'%'; 
          ADOQuery1.open;
          if not ADOQuery1.Locate('mingzi',Edit1.Text,[loPartialkey,loCaseInsensitive])then 
            MessageDlg('没有找到该记录!',mtError,[mbCancel],0) 
        except 
          MessageDlg('您的输入有误!',mtError,[mbCancel],0) 
        end; 
      end; 
    end; 
      

  3.   


    procedure TForm1.BtnFindClick(Sender: TObject); 
    begin 
      if (Trim(Edit1.Text)='') then 
        MessageDlg('没有输入教材名!',mtError,[mbCancel],0) 
      else 
      begin 
        try 
          ADOQuery1.close;
          ADOQuery1.SQL.text := 'Select * From Book Where mingzi like ')='%'+edit1.Text+'%'; 
          ADOQuery1.open;
          if not ADOQuery1.Locate('mingzi',Edit1.Text,[loPartialkey,loCaseInsensitive])then 
            MessageDlg('没有找到该记录!',mtError,[mbCancel],0) 
        except 
          MessageDlg('您的输入有误!',mtError,[mbCancel],0) 
        end; 
      end; 
    end; 
      

  4.   

    procedure TForm1.BtnFindClick(Sender: TObject); 
    begin 
      if (Trim(Edit1.Text)='') then 
        MessageDlg('没有输入教材名!',mtError,[mbCancel],0) 
      else 
      begin 
        try 
          ADOQuery1.clear;
          ADOQuery1.SQL.add('Select * From Book Where mingzi like '='%'+edit1.Text+'%'); 
          ADOQuery1.open;
          if not ADOQuery1.Locate('mingzi',Edit1.Text,[])then 
            MessageDlg('没有找到该记录!',mtError,[mbCancel],0) 
        except 
          MessageDlg('您的输入有误!',mtError,[mbCancel],0) 
        end; 
      end; 
    end; 
      

  5.   

    我来学习下,Locate命令能支持 like 吗?