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

sql 要存 日期格式 要怎麼存 ??

答題得分者是:Mickey
carter6
初階會員


發表:53
回覆:108
積分:42
註冊:2002-12-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-12-16 15:00:30 IP:61.59.xxx.xxx 未訂閱
請問 sql 要存 日期格式 要怎麼存 query1.sql.add('insert into temp saledate values(strtodate('199/8/7'))') 型態不對嗎??
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-12-16 15:17:22 IP:61.219.xxx.xxx 未訂閱
Database Date/Datetime/SmallDatetime DataType 與 Delphi TDatetime Type 截然不同, 而且各家 Database DateTime format 針對不同 Language 也不同,之前已有相當多討論, 建議你搜尋一下相關文章
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-12-16 15:21:24 IP:147.8.xxx.xxx 未訂閱
I suggest using parameter, e.g. query1.sql.add('insert into temp (saledate) values (:ADate);'); query1.sql.ParamByName('ADate').AsDateTime := EncodeDate(1999,8,7);
jerryhung
初階會員


發表:6
回覆:46
積分:30
註冊:2002-12-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-12-16 15:41:33 IP:202.39.xxx.xxx 未訂閱
william 講得沒錯,我幫他補充一下 其實只要傳String給SQL,且Saledate是SQL的datetime欄位 你傳給SQL的時候SQL會自己去辨識你的日期字串 william的 ------------------- query1.sql.add('insert into temp (saledate) values (:ADate);'); query1.sql.ParamByName('ADate').AsDateTime := EncodeDate(1999,8,7); 其實這樣也行 ------------------- query1.sql.add('insert into temp (saledate) values (:ADate);'); query1.sql.ParamByName('ADate').AsString := '1999/8/7'; 不用擔心那麼多囉,最重要的是你SQL的欄位要是datetime格式即可 另外別忘了在QUERY的Parameters裡面的ADate類型設成ftDateTime哦 * 如果是用ADO,要用ParamByName('ADate').value = '1999/8/7';
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-12-16 16:44:23 IP:61.221.xxx.xxx 未訂閱
carter6你好: 型態不對!! 是每個都搞不清楚的!! 在ms的系統裡時間分成 1.yyyy/mm/dd  2.yyyy/m/d  3.yyyy-m-d 這種問題可以參考  開始-->設定-->控制台-->地區選項-->日期 觀看系統設定的格式,至於   
引言: query1.sql.add('insert into temp saledate values(strtodate('199/8/7'))')
是的! 紅色部分是錯的因為insert into 不能單對一個欄位 發表人 - ko 於 2002/12/16 17:25:08
------
======================
昏睡~
不昏睡~
不由昏睡~
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-12-24 13:35:14 IP:61.219.xxx.xxx 未訂閱
引言: carter6你好: 型態不對!! 是每個都搞不清楚的!! 在ms的系統裡時間分成 1.yyyy/mm/dd 2.yyyy/m/d 3.yyyy-m-d 這種問題可以參考 開始-->設定-->控制台-->地區選項-->日期 觀看系統設定的格式,至於
引言: query1.sql.add('insert into temp saledate values(strtodate('199/8/7'))')
是的! 紅色部分是錯的因為insert into 不能單對一個欄位 發表人 - ko 於 2002/12/16 17:25:08
insert into 不能單對一個欄位 ? insert into temp (saledate) values('1999/8/7') /* 使用中文很辛苦,中華男兒當自強 */
系統時間:2024-06-26 22:53:08
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!