全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1459
推到 Plurk!
推到 Facebook!

如何在SQL下達模糊查詢?

答題得分者是:T.J.B
JamesLiang
初階會員


發表:54
回覆:78
積分:31
註冊:2003-02-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-03-09 15:19:49 IP:63.201.xxx.xxx 未訂閱
請教先進..我寫了個動態sql的輸入結果於 > < = 時都沒問題,但是若採用 like 'AB%' 卻無法執行,系統告知不認識 AB%,不知是否有先進能指點一下?(也試過 AB*) 多謝 James
Ricky02
一般會員


發表:1
回覆:1
積分:0
註冊:2002-08-07

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-03-09 15:58:57 IP:163.28.xxx.xxx 未訂閱
試試 like ''«%''
T.J.B
版主


發表:29
回覆:532
積分:497
註冊:2002-08-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-03-09 16:10:56 IP:218.160.xxx.xxx 未訂閱
參考此篇 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=21759 天行健 君子當自強不息~~@.@
------
天行健
君子當自強不息~~@.@
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-03-09 21:41:30 IP:61.217.xxx.xxx 未訂閱
Query1.SQL.add('SELECT * FROM ABC WHERE XX LIKE ' #39 'AB' '%' #39); ABC->Table Name xx->欄位名稱 TRY TRY SEE
JamesLiang
初階會員


發表:54
回覆:78
積分:31
註冊:2003-02-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-03-10 11:23:09 IP:63.201.xxx.xxx 未訂閱
多謝大家幫忙,但還是有問題,我將原碼List 如下: procedure TForm1.FormCreate(Sender: TObject); Var FieldName : String; I : Integer; begin ADOTable1.Active:= True; With ADOTable1 do begin For I := 0 to FieldCount - 1 do begin FieldName := Fields[I].FieldName; Combobox1.Items.Add(FieldName); end; end; end; procedure TForm1.Button1Click(Sender: TObject); Var SQLStr : String; begin with ADOQuery1 do begin SQL.Clear; SQLStr := 'Select * from A_RDOPList where '; SQLStr := SQLStr Combobox1.Text Combobox2.Text #39 Edit1.Text #39; Edit2.Text := SQLStr; SQL.add(SQLStr); Prepared; Open; end; end; 由於SQL是依照使用者的輸入,因此無法寫固定的方式,煩請繼續賜教 James
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-03-10 11:33:13 IP:211.74.xxx.xxx 未訂閱
procedure TForm1.Button1Click(Sender: TObject); Var SQLStr : String; begin with ADOQuery1 do begin SQLStr:='' SQL.Clear; SQLStr := 'Select * from A_RDOPList where '; SQLStr := SQLStr #39 Combobox1.Text #39 ' LIKE ' #39 Edit1.Text '%' #39; Edit2.Text := SQLStr; SQL.add(SQLStr); Prepared; Open; end; end; TYR TRY SEE
T.J.B
版主


發表:29
回覆:532
積分:497
註冊:2002-08-14

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-03-10 12:15:48 IP:61.220.xxx.xxx 未訂閱
參考一下
procedure TForm1.Button1Click(Sender: TObject);
Var
SQLStr : String;
begin
  SQLStr:='';
  with ADOQuery1 do
  begin
    close;
    SQL.Clear;
    SQLStr := 'Select * from A_RDOPList where ';
    SQLStr := SQLStr  Combobox1.Text  ' like''%' Edit1.Text  '%'''; 
    Edit2.Text := SQLStr;
    SQL.add(SQLStr);
    Prepared;
    Open;
  end;
end;
ps:1:在where後面要有空白 2:在like前面要有空白 天行健 君子當自強不息~~@.@
------
天行健
君子當自強不息~~@.@
系統時間:2024-06-14 19:53:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!