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

請教如何修正條件式查詢?

尚未結案
enu
中階會員


發表:36
回覆:93
積分:55
註冊:2003-10-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-06 20:18:20 IP:163.27.xxx.xxx 未訂閱
請教各位先進,小弟的資料表大概如下,小弟想要取出一些條件式下的值來列表,ex.如果現在要取出111中,其中的tar值為1到3好了,不知道該如何表示呢? num   tar   star   end 111    1    832    704 111    1    832    703 111    1    831    703 ...(more) 111   2   192   64 111   2   192   63 111   2   192   62 ...(more) 111   3   532   48 111   3   533   48 111   3   535   49 ...(more) 111   4   502   48 111   4   503   48 111   4   505   49 ...(more) 222   1   843   63 222   1   843   62 ...(more)    小弟參考網上的資料,大概寫了一下如下,可是只列出了3道資料,我想應該是sSql = "select * from TableName where num ='111' and tar<'3'";這裡出了問題,不知道應如何修改呢?懇請賜教!感謝!    
int i;
AnsiString sSql,sItem;
sSql = "select * from TableName where num ='111' and tar<'3'";
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(sSql);
ADOQuery1->Open();            while(ADOQuery1->Eof != true)
        {
            sItem = "";
            for(i=0; i<=(ADOQuery1->Fields->Count-1); i  )
            {
               sItem = sItem   ADOQuery1->Fields->Fields[i]->AsString   char(VK_TAB);
            }
            ListBox1->Items->Add(sItem);
            ADOQuery1->Next();
        }
 
發表人 - enu 於 2004/12/06 20:20:45 發表人 - enu 於 2004/12/06 20:22:06
huanyuan
一般會員


發表:18
回覆:48
積分:18
註冊:2003-07-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-06 23:33:53 IP:220.135.xxx.xxx 未訂閱
sSql ="select * from TableName where num ='111' and tar in('1','2','3')" 如果是我...可能會這樣寫... -- 我是新手...請多指教... 如有錯誤...請不吝糾正...謝謝... 發表人 - huanyuan 於 2004/12/06 23:44:03
huanyuan
一般會員


發表:18
回覆:48
積分:18
註冊:2003-07-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-06 23:34:15 IP:220.135.xxx.xxx 未訂閱
tar的datatype 是integer還是String...
enu
中階會員


發表:36
回覆:93
積分:55
註冊:2003-10-22

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-12-08 02:15:13 IP:218.165.xxx.xxx 未訂閱
huanyuan您好,謝謝您回答我的問題。 sSql ="select * from TableName where num ='111' and tar in('1','2','3')"這樣的方法不錯,可是如果我有還多項,ex.1到10,那不就要設定更多嗎? tar之前設定是用「文字」的格式,所以應該是string吧! 不知道有沒有更方便的方法呢?感謝您!
huanyuan
一般會員


發表:18
回覆:48
積分:18
註冊:2003-07-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-12-13 14:21:05 IP:61.222.xxx.xxx 未訂閱
String StrTemp=""; for(int i=1;i<=10;i ) (i==1)? StrTemp ="'" IntToStr(i) "'": StrTemp =",'" IntToStr(i) "'"; String sSql ="select * from TableName where num ='111' and tar in(" StrTemp ")";
huanyuan
一般會員


發表:18
回覆:48
積分:18
註冊:2003-07-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-12-14 22:57:12 IP:220.135.xxx.xxx 未訂閱
引言: huanyuan您好,謝謝您回答我的問題。 sSql ="select * from TableName where num ='111' and tar in('1','2','3')"這樣的方法不錯,可是如果我有還多項,ex.1到10,那不就要設定更多嗎? tar之前設定是用「文字」的格式,所以應該是string吧! 不知道有沒有更方便的方法呢?感謝您!
你也可以試看看... sSql ="select * from TableName where num ='111' and tar between '1'and '3' 不知是不是也是你要的結果...
enu
中階會員


發表:36
回覆:93
積分:55
註冊:2003-10-22

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-12-21 15:47:34 IP:218.165.xxx.xxx 未訂閱
謝謝huanyuan,應該可以了!感恩!
系統時間:2024-05-19 6:57:03
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!