procedure TForm8.Button4Click(Sender: TObject);
begin
with ADOQuery2 do
begin
close;
SQL.Clear;
SQL.Add('Select * from insp where a,b,c,d like'+''''+'%'+Trim(edit1.Text)+'%'+'''');
open;
end;
end;
注:我用的是ADO連接的access資料庫。
access 模糊查詢like 為何查詢不出來,請問錯在哪里?請高手解答!
uj5u.com熱心網友回復:
Add('Select * from insp where d like '+Quotedstr('%'+Trim(edit1.Text)+'%'));
uj5u.com熱心網友回復:
Select * from insp where a like or b like or c like or d like。。。哪來的a,b,c,d like你太搞了
uj5u.com熱心網友回復:
二樓的方法還是沒用,點擊模糊查詢,顯示的還是全部,沒有動。為什么?uj5u.com熱心網友回復:
我說的是一樓的不行,上面看錯了樓層。uj5u.com熱心網友回復:
解決了嗎?uj5u.com熱心網友回復:
放ACCESS里試試
uj5u.com熱心網友回復:
access里用like不能用&,把&改成*就行了.
Add('Select * from insp where d like '+Quotedstr('*'+Trim(edit1.Text)+'*'));
uj5u.com熱心網友回復:
Select * from insp where a like '%學習%'在ACCESS中模擬查詢沒有問題。
但放到delphi就有問題了:delphi顯示下面紅色顯示4個錯誤。
procedure TForm8.Button4Click(Sender: TObject);
begin
with ADOQuery2 do
begin
close;
SQL.Clear;
SQL.Add('Select * from insp where a like '%學習%');
Prepared;
open;
end;
end;
uj5u.com熱心網友回復:
SQL.Add('Select * from insp where a like ''%學習%''');uj5u.com熱心網友回復:
不過要用*代替%SQL.Add('Select * from insp where a like ''*學習*''');
ACCESS的檔案中有這么一句話:
請注意,ANSI SQL 通配符 (%) 和 (_) 僅在 Microsoft? Jet 4.X 版本和 Microsoft OLE DB Provider for Jet 中才是有效的。如果用在 Microsoft Access 或 DAO 中,那么它們被視為文本。
uj5u.com熱心網友回復:
樓上,下面兩種雖然不顯示錯誤,但點擊按鈕后,根本不動,還是所有的記錄在那,為什么呢?procedure TForm8.Button4Click(Sender: TObject);
begin
with ADOQuery2 do
begin
close;
SQL.Clear;
SQL.Add('Select * from insp where a like ''%學習%''');
Prepared;
open;
end;
end;
procedure TForm8.Button4Click(Sender: TObject);
begin
with ADOQuery2 do
begin
close;
SQL.Clear;
SQL.Add('Select * from insp where a like ''*學習*''');
Prepared;
open;
end;
end;
uj5u.com熱心網友回復:
Prepared;這個可以不要;打開你的access和表,一條條對照看,到底沒有符合的記錄
另外,記錄在那里顯示,DBGrid? 和ADOQuery2關聯了嗎?
LZ在考我們智商呢,鑒定完畢...
uj5u.com熱心網友回復:
access里能查詢,但在delphi的dbgrid里就不行了。adquery2里的SQL 的TStrings里我填入了:select * from insp
雙擊adquery2,欄位全部選了
parameters的Tparameters我沒有動
uj5u.com熱心網友回復:
Select * from insp where a like '%學習%'
這個在access里是可以查詢的。
uj5u.com熱心網友回復:
http://download.csdn.net/detail/veron_04/1644211uj5u.com熱心網友回復:
var a1,a:string;a1:='%'+edit1.text+'%';
a:='select * from 資料表 where 查詢欄位 like '''+a1+'''';
adoquery2.close;
adoquery2.sql.clear;
adoquery2.sql.add(a);
adoquery2.open;
uj5u.com熱心網友回復:
access 與sql server中的通配符不一樣,你用*替換%就OK了uj5u.com熱心網友回復:
感覺這陳述句已經報錯了吧轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/122334.html
標籤:數據庫相關
