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

如何 實現時間段內查詢

尚未結案
suntao008
一般會員


發表:70
回覆:38
積分:21
註冊:2003-10-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-12-24 01:38:41 IP:61.155.xxx.xxx 未訂閱
各位GG、MM、DD: 現有問題請教各位,敬請指教! NO1. 用DATETIMEPICKER1作為起點時間選擇項 用DATETIMEPICKER2作為終點時間選擇項 在資料庫中有一欄位是DATETIME 如何才能實現選擇起點時間和終點時間查詢? ___________________________________________________________! NO1與NO2,不相連的問題,指教時,請注明是NO1 OR NO2,謝謝! ___________________________________________________________! NO2. 在查詢時,我在查詢時條件比較廣,如像查詢開頭為8KK的所有目標 我寫出部份,請高手指教,如何在EDIT1中輸入8KK,即查詢出來,我是用的SQL命令查詢,如下: SELECT * FROM DATA WHERE 欄位 LIKE '8KK%' ____________________________________________________________! NO1與NO2,不相連的問題,指教時,請注明是NO1 OR NO2,謝謝! ____________________________________________________________!
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-12-24 08:24:25 IP:210.65.xxx.xxx 未訂閱
HI:    NO1 : SQL SELECT  * FROM    TABLE WHERE   DATETIME BETWEEN :P_START_DATETIME AND :P_END_STARTDATETIME    QUERY1.CLOSE; QUERY1.PARAMBYNAME('P_START_DATETIME').ASDATETIME := DATETIMEPICKER1.DATETIME; QUERY1.PARAMBYNAME('P_END_DATETIME').ASDATETIME := DATETIMEPICKER1.DATETIME; QUERY1.OPEN;    NO2 : SELECT  * FROM DATA WHERE   欄位 LIKE :P_STRING || '%'    QUERY1.CLOSE; QUERY1.PARAMBYNAME('P_STRING')ASSTRING := EDIT1.TEXT;; QUERY1.OPEN;    主要都是在 Query 中,已經帶有參數,並於Query Open 前,先將參數傳入,Query 寫好後,別忘記在 Params 下去定義各個參數的 Type,否則是會出現錯誤訊息的 PS:我用的是 Oracle 語法,若是使用 MS SQL 請將 '||' 換為 '+' -------------------------------- 小弟才疏學淺,若有謬誤請不吝指教 --------------------------------
------
Fishman
suntao008
一般會員


發表:70
回覆:38
積分:21
註冊:2003-10-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-12-24 21:50:01 IP:61.155.xxx.xxx 未訂閱
請見介面的說明:    DATETIMEPICKER1    EDIT    數據庫的結構為:(數據名為XF) SERIAL_NUMBER DATE_TIME SHIPPING_NUMBER    現問題如下,經FISHMAN指教如下,敬請高手指點迷津 NO1 : SQL SELECT * FROM XF WHERE DATETIME BETWEEN :P_START_DATETIME AND :P_END_STARTDATETIME    請問(SQL無法確認P_START_DATETIME AND :P_END_STARTDATETIME)    QUERY1.CLOSE; QUERY1.PARAMBYNAME ('P_START_DATETIME').ASDATETIME :=DATETIMEPICKER1.DATETIME; QUERY1.PARAMBYNAME ('P_END_DATETIME').ASDATETIME :=DATETIMEPICKER2.DATETIME; QUERY1.OPEN;    NO2 : SELECT * FROM DATA WHERE SHIPPING_NUMBER LIKE :P_STRING || '%' (請問:P_STRING || '%'是何意?SQL無法確認) QUERY1.CLOSE; QUERY1.PARAMBYNAME('P_STRING')ASSTRING := EDIT1.TEXT; QUERY1.OPEN;    以上敬請指教!    
suntao008
一般會員


發表:70
回覆:38
積分:21
註冊:2003-10-19

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-12-25 07:23:28 IP:61.155.xxx.xxx 未訂閱
請見介面的說明: DATETIMEPICKER1 EDIT 數據庫的結構為:(數據名為XF) SERIAL_NUMBER DATETIME SHIPPING_NUMBER 現問題如下,經FISHMAN指教如下,敬請高手指點迷津 NO1 : SQL select * FROM XF where Datetime BETWEEN 'DATETIMEPICKER1.DATETIM' AND 'DATETIMEPICKER2.DATETIM' button: QUERY1.CLOSE; QUERY1.PARAMBYNAME('DateTime').ASDATETIME :=DATETIMEPICKER1.DATEtime; QUERY1.PARAMBYNAME('DateTime').ASDATETIME :=DATETIMEPICKER2.DATEtime; QUERY1.OPEN; 以上程序無法運行,敬請高手指教!
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-12-26 08:42:00 IP:210.65.xxx.xxx 未訂閱
Hi:    suntao008,你的資料庫是 ??    你所謂的SQL無法確認,是否是因為參數沒有定義型別? 請在寫完 SQL Command 後,於下列位置定義個個參數     P_STRING || '%'是何意?SQL無法確認) 將傳入之參數 P_STRING 加上 '%' 若是 MS SQL 則使用 P_STRING + '%' 請再試試看,加油!! -------------------------------- 小弟才疏學淺,若有謬誤請不吝指教 --------------------------------
------
Fishman
suntao008
一般會員


發表:70
回覆:38
積分:21
註冊:2003-10-19

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-12-26 22:14:27 IP:61.155.xxx.xxx 未訂閱
請見介面的說明: DATETIMEPICKER1 EDIT 數據庫的結構為:(數據名為XF) SERIAL_NUMBER DATETIME SHIPPING_NUMBER 現問題如下,經FISHMAN指教如下,敬請高手指點迷津 NO1 : SQL select * FROM XF where Datetime BETWEEN 'DATETIMEPICKER1.DATETIM' AND 'DATETIMEPICKER2.DATETIM' button: QUERY1.CLOSE; QUERY1.PARAMBYNAME('DateTime').ASDATETIME :=DATETIMEPICKER1.DATEtime; QUERY1.PARAMBYNAME('DateTime').ASDATETIME :=DATETIMEPICKER2.DATEtime; QUERY1.OPEN; 以上程序無法運行,敬請高手指教! 請高手修正,能正常運行!謝謝!
leo2568
中階會員


發表:54
回覆:124
積分:70
註冊:2003-09-21

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-12-27 18:21:41 IP:61.217.xxx.xxx 未訂閱
NO1.
  If ( (Edit1.Text <> '') and (Edit2.Text <> '' )) THEN
     Query1.Sql.Add(' AND DATETIME>= #' Edit1.Text '# AND DATETIME <=
       #' Edit2.Text '# ');
     Query1.Close;
     Query1.Open;
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-12-29 08:39:57 IP:210.65.xxx.xxx 未訂閱
Hi:    No1: 1.
引言: SQL select * FROM XF where Datetime BETWEEN 'DATETIMEPICKER1.DATETIM' AND 'DATETIMEPICKER2.DATETIM'
煩請檢查 Query1 的 SQL Command SELECT * FROM TABLE WHERE DATETIME BETWEEN :P_START_DATETIME AND :P_END_DATETIME 其中,P_START_DATETIME 與 P_END_DATETIME 是 Open Query 時的參數 2. 請確認 DATETIMEPICKER1 與 DATETIMEPICKER2 的 type 若為 TDateTimePicker 則 QUERY1.CLOSE; QUERY1.PARAMBYNAME('P_START_DATETIME').ASDATETIME := DATETIMEPICKER1.DATETIME; QUERY1.PARAMBYNAME('P_END_DATETIME').ASDATETIME := DATETIMEPICKER2.DATETIME; QUERY1.OPEN; 若為 TEdit 則 QUERY1.CLOSE; QUERY1.PARAMBYNAME('P_START_DATETIME').ASDATETIME := STRTODATE(DATETIMEPICKER1.TEXT); QUERY1.PARAMBYNAME('P_END_DATETIME').ASDATETIME := STRTODATE(DATEDATETIMEPICKER2.TEXT); QUERY1.OPEN; -------------------------------- 小弟才疏學淺,若有謬誤請不吝指教 --------------------------------
------
Fishman
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-01-11 11:09:04 IP:218.15.xxx.xxx 未訂閱
您好: 依你所问的问题: NO1: ==================================================================== procedure TForm.findBtnClick(Sender: TObject); var date1,date2:TDate;-----定义好变量类型; begin  date1:=DateTimePicker1.Date ; date2:=DateTimePicker2.Date;      with query1 do    begin      close;      sql.Clear;      sql.Add('SELECT * FROM "你要查询的资料库表"'); sql.Add('where (你那个DATETIME栏位>=:rq1)and (你那个DATETIME栏位<=:rq2)'); end; Query1.Params [0].DataType :=ftdate; Query1.Params [0].Value :=date1; Query1.Params [1].DataType :=ftdate; Query1.Params [1].Value :=date2; Query1.Active :=true; end; 然后通过选择DATETIMPICKER1和DATETIMPICKER2实现时间段的查询; ===================================================================== NO2: SELECT * FROM DATA WHERE 欄位 like"' '%' EDIT1.text '%" ===================================================================== 其实Fishman,leo2568两位大大都已经将的问题回答清楚了,你认真看看哦! 發表人 - deity 於 2004/01/11 11:12:45
suntao008
一般會員


發表:70
回覆:38
積分:21
註冊:2003-10-19

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-01-11 16:00:44 IP:61.155.xxx.xxx 未訂閱
感謝 Fishman,leo2568,deity,小妹是新手,真誠的感謝三位高手,大哥哥的不懈的指教,感激不敬,感謝您們!
系統時間:2024-04-25 17:20:37
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!