ADO + Datasnap 的錯誤... |
尚未結案
|
seaturn99
版主 發表:69 回覆:427 積分:214 註冊:2003-08-25 發送簡訊給我 |
請教一下各位先進 : 我在 TDataModule 中使用了 TADOConnection -> TADOQuery -> TDataProvider -> TClientDataSet 這樣的架構,沒有作 Master/Detail .. 利用一個 TDBNavigator + TDataSource + TDBGrid 作資料的新增/修改/刪除..
新增與修改都可以正常執行 (AppplyUpdates) .. 但是一碰到刪除資料就會出現 ..
若是執行 Refresh 則會出現
有參考過幾篇討論 "Record Not Found or Changed by another user" 的文章,我的 UpdateMode 是 upWhereKeyOnly, pfInKey 也有正確設定... 請問有什麼可能性會造成這樣的錯誤發生?? 可否給小弟一些方向.. 目前有一個解決方法是跳過 ApplyUpdate ,直接以 SQL Command 執行...
不過實在是很不優雅... ----
我只會兩件事,這也不會,那也不會 眼見不一定為真
----
|
stillalive
初階會員 發表:7 回覆:148 積分:41 註冊:2004-04-07 發送簡訊給我 |
|
seaturn99
版主 發表:69 回覆:427 積分:214 註冊:2003-08-25 發送簡訊給我 |
|
stillalive
初階會員 發表:7 回覆:148 積分:41 註冊:2004-04-07 發送簡訊給我 |
|
seaturn99
版主 發表:69 回覆:427 積分:214 註冊:2003-08-25 發送簡訊給我 |
引言: Update Mode 用 upWhereKeyOnly 可能限制比較嚴緊 , 因異動資料時會檢查key 值 , 當符合唯一性才異動 . upWhereAll 在未真正存檔前使用較自由 , 存檔時再給予唯一鍵值 . 不妨試試看 .stillalive 您好 : 這我之前有試過, 還是沒用 ,我覺得很奇怪的事情是在 Profilter 內看到送出的 SQL Command 是正確的 (我用 Query Analyzer 執行驗證過),但是就是執行到這個 Command Hold 住了,粗淺的猜測,是否 DataSnap 或 ADO 元件 Check 某些值或狀態後 raise Exception ... ---- 我只會兩件事,這也不會,那也不會 眼見不一定為真 ---- 發表人 - SouthWind 於 2004/06/11 09:34:16 |
stillalive
初階會員 發表:7 回覆:148 積分:41 註冊:2004-04-07 發送簡訊給我 |
|
seaturn99
版主 發表:69 回覆:427 積分:214 註冊:2003-08-25 發送簡訊給我 |
stillalive 您好 : 將 UpdateMode 不要設成 upWhereKeyOnly 的確可以 Work,只是當時我將 TADOQuery 元件中作資料庫 Primary Key 的 Field 內的 ProviderFlags 加入pfInKey ... 我縮小了範圍,做了一些小區域的實驗,找到原因了..
根據所做的實驗結果與一些前輩的討論文章,可以得知
ADO <-> TDataSetProvider <-> TCleintDataSet 在 ResolveToDataSet 為 false 的條件下,還是多多少少會與 ADO 元件作互動 ... UpdateMode 設成 upWhereKeyOnly 後, TClientDataSet 內相對應於 TADOQuery 元件的 Primary Key Field 中的 ProviderFlags ,pfInKey 會莫名其妙消失... 解決方法 :
方法 1. 使用 UpdateMode 設定成 upWhereAll
方法 2. 在 TDataSetProvider 元件內的 OnUpdateData 利用 DataSet,改變目的欄位的 ProviderFlags (加入 pfInKey).. ----
我只會兩件事,這也不會,那也不會 眼見不一定為真
---- 發表人 - SouthWind 於 2004/06/14 14:53:45 發表人 - SouthWind 於 2004/06/14 15:44:11 發表人 - SouthWind 於 2004/06/14 15:46:17
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |