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

使用兩個ComboBox做組合查詢

尚未結案
north
一般會員


發表:10
回覆:17
積分:5
註冊:2004-08-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-09-27 01:02:16 IP:218.169.xxx.xxx 未訂閱
我使用兩個ComboBox做組合查詢,其內容選項我輸入中文,資料庫的欄位名稱是英文,當我查詢時,要如何將中文欄位的値轉換成英文呢?? ex.    select * from table     where ComboBox1.text like edit1.text and ComboBox2.text like edit2.text     但是我ComboBox的內容是中文,實際在資料庫的欄位是英文說 姓名→name 我想如果只是一個ComboBox,還可以寫if去一個個判別,可是用兩個ComboBox做組合查詢,我就想不出來了說
likush
高階會員


發表:5
回覆:235
積分:103
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-09-27 03:58:05 IP:220.134.xxx.xxx 未訂閱
二個建議 1.利用資料庫取得中文名稱配合dblookupcombox來作 2.利用二維陣列方式,一個存欄位名稱另一個則存中文如此一來,在取值上亦較為方便也不能太多程式碼去作取值的動作。 ========================= 讀萬卷書~不如來K.TOP走一遭 =========================
ray24
中階會員


發表:18
回覆:88
積分:56
註冊:2002-07-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-09-27 03:59:58 IP:61.59.xxx.xxx 未訂閱
首先要先釐清問題    1.中文轉英文是一個題目 2.條件的組合是另一個題目    問題1. 你可能需要建一個轉換的 TABLE 專門服務中文轉英文的翻譯機 相關的中文可以找到對應的英文    問題2. ComboBox中所提供的試搜尋條件的字串 再SQL語法中條件與條件的交集不外乎使用 AND 等..字眼來達成 所以只要在組合字串時把條件一個一個串聯起來應該就OK了 又或者先用條件一搜尋一次 再使用條件一找到的結果使用條件二過濾一次也是可以的 只是花了兩次工    試試看吧!! ---------------------- 台上一分鐘,台下十年功
------
台上一分鐘,台下十年功
likush
高階會員


發表:5
回覆:235
積分:103
註冊:2002-10-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-09-27 04:42:16 IP:220.134.xxx.xxx 未訂閱
抱歉,修正一些資料,就您的需求而言,您可先建立一個存中文及英文對照的料表,再來 Type vR = record Field : String; Caption : String; End; Var vARray : Array Of vR; 在formshow中設定 Setlength(vArray, Table1.recordcount); for I := 0 To Table1.recordcount -1 Do begin vArray[I].field := table1.fieldbyname('fieldname').asstring; vArray[I].caption := table1.fieldbyname('caption').asstring; end; combobox1.clear; for I:= low(vArray) To High(vArray) Do sombobox.items.add(vArray[I].caption); 在執行查詢時 select * from table where varray[combobox1.ItemIndex].field like edit1.text combobox2亦可採行上述方法,試試看,有錯請指正 ========================= 讀萬卷書~不如來K.TOP走一遭 =========================
north
一般會員


發表:10
回覆:17
積分:5
註冊:2004-08-06

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-10-01 01:13:46 IP:218.169.xxx.xxx 未訂閱
感謝likush、ray24兩位大大的幫忙 我的問題已經解決了,我是採用同學的方法,另外寫一個 > 與法如下: < class="code"> function TFCardNew.combobox(comboboxtext: TCombobox): string; begin if comboboxtext.Text ='中文' then Result:='英文'; ........... end; ComboBox1.2要先設定好查詢的東西 謝謝唷
系統時間:2024-07-01 9:40:25
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!