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

如何在SQL 字串中要加入Where條件 (業務員=112)

尚未結案
jeffreck
高階會員


發表:247
回覆:340
積分:197
註冊:2003-01-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-06-20 14:22:33 IP:61.218.xxx.xxx 未訂閱
請教各位前輩 SQL字串的處理是否有較好的方式 如在以下的SQL 字串中要加入Where條件 (業務員=112) 及排序方式改為 業務員,客戶編號,如下方的結果 因我的Table及查詢條件都是動態的不是固定Table,所以想由程式 去處理 Where 及 ORderby字串 請教各位前輩是否有較好的方式?? Select 客戶.* From 客戶 Where (區別='A') and (類別 between 001 and 500) and (客戶編號>100) Order by 區別,客戶編號 ------------ 要求結果 Select 客戶.* From 客戶 Where( (區別='A') and (類別 between 001 and 500) and (客戶編號>100) )And (業務員=112) Order by 業務員,客戶編號 謝謝各位前輩.........
Miles
尊榮會員


發表:27
回覆:662
積分:622
註冊:2002-07-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-06-20 18:03:47 IP:61.31.xxx.xxx 未訂閱
Hi jeffreck :

Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select 客戶.* ');
Query1.SQL.Add('From 客戶 ');
Query1.SQL.Add('Where (區別='A') and (類別 between 001 and 500) and (客戶編號>100) ');

if .... then begin
   Query1.SQL.Add(' and (業務員=112) ');
   Query1.SQL.Add('Order by ... ');
end;
if ... then begin
   Query1.SQL.Add(' and ... ');
   Query1.SQL.Add('Order by ... ');
end;    或是先在Query裡下好靜態的SQL字串, 用StringReplace去取代    Select 客戶.*
From 客戶
Where( (區別='A') and (類別 between 001 and 500) and (客戶編號>100) )
/*WhereReplace*/
/*OrderByReplace*/    if .... then begin
   StrWhere := ' and (業務員=112)';
   StrOrder := 'Order by ... '
end;
if ... then begin
   StrWhere := ' and ... ';
   StrOrder := 'Order by ... ';
end;
Query1.SQL.Text := StringReplace(Query1.SQL.Text, /*WhereReplace*/, StrWhere, [rfIgnoreCase]);
Query1.SQL.Text := StringReplace(Query1.SQL.Text, /*OrderReplace*/, StrOrder, [rfIgnoreCase]);
我不是高手, 高手是正在銀幕前微笑的人.
------


我不是高手, 高手是正在銀幕前微笑的人.
minjiu
中階會員


發表:27
回覆:119
積分:69
註冊:2002-06-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-06-21 13:38:21 IP:218.172.xxx.xxx 未訂閱
也可用Query1.SQL[x]的方式去修改原有的SQL敍述... 如 Query1.SQL [3] := 'Where xx = 123'
jeffreck
高階會員


發表:247
回覆:340
積分:197
註冊:2003-01-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-06-24 09:24:29 IP:61.218.xxx.xxx 未訂閱
謝謝  Miles及minjiu 前輩教導 但我目前在作 Base Form 就是要處理 新增修改刪除查詢等功能 以後可以供繼承使用 所以未知未來的SQL的內容,但有要能去修改 Where 字串及Order By字串 Where 為要增加修件 , 所以想要自己去分析 SQL 的字串..... 當然兩位前輩的方式也可以,但我在想是否有自己去分析 SQL的Where 字串及Order By字串    各位是否可以提供意見......感謝
系統時間:2024-05-18 7:19:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!