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

日期比對問題

答題得分者是:hagar
changchuan
一般會員


發表:7
回覆:12
積分:3
註冊:2003-10-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-10-14 17:19:41 IP:163.29.xxx.xxx 未訂閱
日期比對出錯? 有去看別的文章,找不到所以問一下 adoquery1.Close; adoquery1.sql.Clear; adoquery1.sql.Add('select * from macr1 where ndate:=date'); adoquery1.open; 問題應是出在 ndate:=date ndate是table macr1的欄位名,日期時間型態(簡式),=>91/10/10 我將ndate,date二者用canvas直接秀出是一模一樣的,但是為何 在比對date時出錯€???不解,請好心解答一下~~謝謝 錯誤訊息:[提供不完全或不一致的資訊,導致.物件..被拒]
------
~*呂政全*~
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-10-14 17:30:15 IP:202.39.xxx.xxx 未訂閱
ADOQuery1.SQL.Add('select * from macr1 where ndate = ' + DateToStr(Date));    --- 歡迎光臨 KTop 研究院
changchuan
一般會員


發表:7
回覆:12
積分:3
註冊:2003-10-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-10-14 17:34:10 IP:163.29.xxx.xxx 未訂閱
DateToStr(Date)不是把日期轉成字串嗎? 可是我的ndate欄是日期型態 ???能比對嗎?
------
~*呂政全*~
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-10-14 17:42:37 IP:202.39.xxx.xxx 未訂閱
因為整個 SQL 是 string 型態, 而 Date 是 TDateTime 型態 所以得做轉換. 另一種方式:
adoquery1.Close;
adoquery1.sql.Text := 'select * from macr1 where ndate = :ndate';
ADOQuery1.Parameters.ParamValues['ndate'] := Date;
adoquery1.open;
--- 歡迎光臨 KTop 研究院
changchuan
一般會員


發表:7
回覆:12
積分:3
註冊:2003-10-07

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-10-14 17:57:10 IP:163.29.xxx.xxx 未訂閱
前者用datetostr(date),or datetimetostr(date)與欄位比對,找不到資料    後者可以,謝謝€~
------
~*呂政全*~
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-10-14 18:00:19 IP:202.39.xxx.xxx 未訂閱
前者用 datetostr(Trunc(date)) 試試    --- 歡迎光臨 KTop 研究院
系統時間:2024-09-12 20:05:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!