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

使用TupdateSQL如有date type 會出現operation can not apply

答題得分者是:P.D.
chkkevin
一般會員


發表:34
回覆:64
積分:19
註冊:2007-05-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-03-05 12:26:13 IP:218.254.xxx.xxx 訂閱
開發環境delphi 7 + MySQL 4.1:
已經測試過當TupdateSQL有date type 資料時,applydate就有"operation can not apply"
error message.如在generate SQL時不加date type 就可以正常updatedate.

想問問是MySQL 4.1的問題,還是delphi的問題,有沒有解決辦法呢?
------
獨學無友則孤陋寡聞,相識滿天下能知天下事
小弟是來自香港的~~多多指教
編輯記錄
chkkevin 重新編輯於 2008-03-05 12:27:49, 註解 無‧
chkkevin 重新編輯於 2008-03-05 12:28:20, 註解 無‧
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-03-05 15:35:42 IP:61.67.xxx.xxx 未訂閱
我沒有用過mysql, 但我的經驗, 每一種sql對TDateTime 格式的排法有差異, 例如
paradox 必須是 '月/日/年", interbase 是'年/月/日'等等, 你試試看存入的Date格式位置換換看吧
chkkevin
一般會員


發表:34
回覆:64
積分:19
註冊:2007-05-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-03-05 23:27:22 IP:218.254.xxx.xxx 訂閱
想問問是delphil對TDateTime 格式的排法有差異, 還是MYSQL呢?
因為在MYSQL直接用上SQL來UPDATE又沒有問題~
===================引 用 P.D. 文 章===================
我沒有用過mysql, 但我的經驗, 每一種sql對TDateTime 格式的排法有差異, 例如
paradox 必須是 '月/日/年", interbase 是'年/月/日'等等, 你試試看存入的Date格式位置換換看吧
------
獨學無友則孤陋寡聞,相識滿天下能知天下事
小弟是來自香港的~~多多指教
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-03-06 12:14:54 IP:61.67.xxx.xxx 未訂閱
應該這麼說吧! 在Delphi中要存入各sql資料庫可能有不同的TDateTime 格式(或許吧)
Delphi存 paraoox 為 '31/01/2008'
Delphi 存 Interbase 為'2008/01/31'
另外, 各版本的winxp的日期格式又有不一, 例如時間有分 上午 08:00 或 08:00 , Delphi就無法去識別"上午 08:00', 所以另外建議你把xp的日期及時間改為標準的/yyyy/mm/dd 或 xx:xx 24小時制, 試試看
chkkevin
一般會員


發表:34
回覆:64
積分:19
註冊:2007-05-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-03-06 14:23:33 IP:218.254.xxx.xxx 訂閱
早前已經在XP使用了yyyy/mm/dd日子格式了,因為有個問題在delphi中輸入日子DATA時的日子格式,
是一定會跟XP的日子設定一樣的,而不能用其他格式。

還未知道是不是ODBC或BDE也有自己的日子格式?

順便想問在database中可否預先設定輸入日子DATA的格式呢?
而不跟XP的日子格式。
------
獨學無友則孤陋寡聞,相識滿天下能知天下事
小弟是來自香港的~~多多指教
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-03-07 10:25:48 IP:61.67.xxx.xxx 未訂閱
可以啊, 在存入之前指定
// 設定日期格式
LongTimeFormat:= 'HH:mm:ss';
// 請注意, 本處的 MM 必須大寫, 才能改變控制台中的區域日期設定
ShortDateFormat:='yyyy/MM/dd';
DateSeparator:='/';

===================引 用 chkkevin 文 章===================


順便想問在database中可否預先設定輸入日子DATA的格式呢?
而不跟XP的日子格式。
chkkevin
一般會員


發表:34
回覆:64
積分:19
註冊:2007-05-17

發送簡訊給我
#7 引用回覆 回覆 發表時間:2008-03-07 23:48:21 IP:218.254.xxx.xxx 訂閱
不好意思想問問是在那裡設定,如EVENT或是property?
===================引 用 P.D. 文 章===================
可以啊, 在存入之前指定
// 設定日期格式
LongTimeFormat:= 'HH:mm:ss';
// 請注意, 本處的 MM 必須大寫, 才能改變控制台中的區域日期設定
ShortDateFormat:='yyyy/MM/dd';
DateSeparator:='/';

===================引 用 chkkevin 文 章===================


順便想問在database中可否預先設定輸入日子DATA的格式呢?
而不跟XP的日子格式。
------
獨學無友則孤陋寡聞,相識滿天下能知天下事
小弟是來自香港的~~多多指教
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#8 引用回覆 回覆 發表時間:2008-03-08 11:53:44 IP:61.67.xxx.xxx 未訂閱
可以在oncreate中指定, 但我的經驗, 有時候會失效, 所以我都會在要存入資料前指定
chkkevin
一般會員


發表:34
回覆:64
積分:19
註冊:2007-05-17

發送簡訊給我
#9 引用回覆 回覆 發表時間:2008-03-11 12:54:49 IP:218.254.xxx.xxx 訂閱
不好意思,因為問題還未解決,所以推一推上,想請教有此經驗的先進們~~
怎樣可以用上TupdateSQL呢?如有Date type field?
小弟試過在delphi中直接寫update的SQL statement 也可以apply update即便有
Date type的field在其中,只是TupdateSQL不能~~~>_<”
------
獨學無友則孤陋寡聞,相識滿天下能知天下事
小弟是來自香港的~~多多指教
系統時間:2024-05-16 15:19:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!