原data有null field ,upadte後為什麼applyupdates失敗 |
尚未結案
|
daniel
一般會員 發表:12 回覆:20 積分:16 註冊:2002-06-03 發送簡訊給我 |
DB=oracle, delphi 7
app server: TDatabase TQUERY TUpdateSQL Tdatasetprovider client端 TSocketconnection TClientdataset TDatasource TDBGrid Clientdataset open後,假設只有第1筆有一個欄位是null (table允許null field 存在),其他records的data都没有null field 當修改第1筆的任何欄位值, applyupdates(0)失敗, 但修改其他records則applyupdates(0)成功 請問先進,我要如何update第1筆的資料 編輯記錄
taishyang 重新編輯於 2007-05-25 15:25:16, 註解 無‧
|
daniel
一般會員 發表:12 回覆:20 積分:16 註冊:2002-06-03 發送簡訊給我 |
我找到原因了, 很對不起原來凶手是我自已,希望自首無罪.
我在server端的TupdateSQL的SQL string的were子句因為没有primary key所有放入所有的欄位,. 造成where :old.field =:new.field時, 如果:old.field為null值會失敗 但是問題來了,這會是delphi7的bug嗎?記得以前delphi-5好像没有這問題? 在没有primary key情況下,SQL strings當然要將所有欄位的old & new值納入where子句內比較, 那不就没輒了.我想元凶應是delphi-7吧,不知有那仁兄遇過類似情況,也請告知如何解決? Thanks. |
daniel
一般會員 發表:12 回覆:20 積分:16 註冊:2002-06-03 發送簡訊給我 |
我找到原因了, 很對不起原來凶手是我自已,希望自首無罪.
我在server端的TupdateSQL的SQL string的were子句因為没有primary key所有放入所有的欄位,. 造成where field =:old_field時, 如果:old_field為null值會失敗 但是問題來了,這會是delphi7的bug嗎?記得以前delphi-5好像没有這問題? 在没有primary key情況下,SQL strings當然要將所有欄位的old & new值納入where子句內比較, 那不就没輒了.我想元凶應是delphi-7吧,不知有那仁兄遇過類似情況,也請告知如何解決? Thanks. (上篇where子句誤值更正) |
daniel
一般會員 發表:12 回覆:20 積分:16 註冊:2002-06-03 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |