使用日期形態欄位存取錯誤 |
答題得分者是:SwingGuppy
|
cutena
一般會員 發表:11 回覆:10 積分:4 註冊:2006-08-16 發送簡訊給我 |
各位前輩您好~
想請問: 目前使用Oracle 9i 的資料庫 在主檔M和明細檔D都有一個UPDDATE欄位為DATE型態 在修改資料時才會異動到這個欄位 QruerM.fieldbyname('UPDDATE').AsDateTime:=now; QruerD.fieldbyname('UPDDATE').AsDateTime:=now; 存檔大部分可以成功 偶爾卻會出現 “Invaild Time.“ 這錯誤訊息 UPDDATE欄位值為0000/00/00 00:00:00 而明細部份若是一整批更新也是到某一行才會出現這問題,其餘行都是正確的日期值 而且都是偶爾才會發生這些情況 連進去資料庫看Table 一點Table即會出現“0.0 is not a valid timestamp“ 這樣的錯誤訊息 或是拉到UPDDATE欄位時也會出現相同錯誤訊息 查了好久,一直查不出原因 該怎麼做該如何修改呢? ~謝謝了~ |
SwingGuppy
初階會員 發表:1 回覆:18 積分:38 註冊:2006-12-28 發送簡訊給我 |
0000/00/00 00:00:00 或是 0.0 應該是空值或是null值,DateTime型態欄位當然不接受。
這可能是當初由Delphi Insert資料時沒有過濾掉空值或是null值所留下的後遺症。 我的做法是直接到資料庫找出有問題的資料,然後直接下指令更新日期為1900/01/01,再把這些欄位回到應用程式來更新。 供您做參考。 ===================引 用 cutena 文 章=================== 各位前輩您好~ 想請問: ??????? 目前使用Oracle 9i 的資料庫 在主檔M和明細檔D都有一個UPDDATE欄位為DATE型態 在修改資料時才會異動到這個欄位 QruerM.fieldbyname('UPDDATE').AsDateTime:=now; QruerD.fieldbyname('UPDDATE').AsDateTime:=now; 存檔大部分可以成功 偶爾卻會出現 “Invaild Time.“ ?這錯誤訊息 UPDDATE欄位值為0000/00/00 00:00:00 而明細部份若是一整批更新也是到某一行才會出現這問題,其餘行都是正確的日期值 而且都是偶爾才會發生這些情況 連進去資料庫看Table 一點Table即會出現“0.0 is not a valid timestamp“ 這樣的錯誤訊息 或是拉到UPDDATE欄位時也會出現相同錯誤訊息 查了好久,一直查不出原因 該怎麼做該如何修改呢? ~謝謝了~
------
受人點滴,湧泉以報。
編輯記錄
SwingGuppy 重新編輯於 2007-04-23 20:21:11, 註解 無‧
|
cutena
一般會員 發表:11 回覆:10 積分:4 註冊:2006-08-16 發送簡訊給我 |
|
chenyk
高階會員 發表:14 回覆:95 積分:171 註冊:2002-07-08 發送簡訊給我 |
|
cutena
一般會員 發表:11 回覆:10 積分:4 註冊:2006-08-16 發送簡訊給我 |
真是太謝謝了~
因為日前將資料庫的所有日期更新一次後, 居然還有相同問題發生... 您的建議一定會試試的!~ 不過想確定一下..是在控制台/地區選項/時間、日期 中去設定嗎? 偶是Win2000..^^".. 而“狀況會有所改善“意思是說還是不能完全解決是嗎? ~感恩~ ===================引 用 chenyk 文 章=================== 我的經驗,這種狀況大多會發生在每天 00:00 附近,DELPHI的元件在塞值的時候會有機率的發生這種狀況。 檢查日期是否為空值,不一定能100%抓到問題。因為他可能發生在寫入資料庫的過程中,而不是發生寫入之前。 由其日期格式為 yyyy/mm/dd hh:nn:ss 發生率還挺高,建議到控制台將日期格式改成 yyyymmddhhnnss 或者 yyyy-mm-dd hh:nn:ss 狀況會有所改善。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |