使用兩個ComboBox做組合查詢 |
尚未結案
|
north
一般會員 ![]() ![]() 發表:10 回覆:17 積分:5 註冊:2004-08-06 發送簡訊給我 |
我使用兩個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 發送簡訊給我 |
|
ray24
中階會員 ![]() ![]() ![]() 發表:18 回覆:88 積分:56 註冊:2002-07-24 發送簡訊給我 |
首先要先釐清問題 1.中文轉英文是一個題目
2.條件的組合是另一個題目 問題1.
你可能需要建一個轉換的 TABLE
專門服務中文轉英文的翻譯機
相關的中文可以找到對應的英文 問題2.
ComboBox中所提供的試搜尋條件的字串
再SQL語法中條件與條件的交集不外乎使用 AND 等..字眼來達成
所以只要在組合字串時把條件一個一個串聯起來應該就OK了
又或者先用條件一搜尋一次
再使用條件一找到的結果使用條件二過濾一次也是可以的
只是花了兩次工 試試看吧!!
------
台上一分鐘,台下十年功 |
likush
高階會員 ![]() ![]() ![]() ![]() 發表:5 回覆:235 積分:103 註冊:2002-10-08 發送簡訊給我 |
抱歉,修正一些資料,就您的需求而言,您可先建立一個存中文及英文對照的料表,再來
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 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |