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

TQuery.ApplyUpdates如何取得錯誤的Record?

尚未結案
sunny217
一般會員


發表:4
回覆:4
積分:1
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-24 18:18:15 IP:61.62.xxx.xxx 未訂閱
請教各位前輩.. 我先將所有資料以TQuery.AppendRecord的方式全部放入Query的Cache後 ,再執行TQuery.ApplyUpdates,若其中有一筆Record產生錯誤(例如Unique), 是否能知道是發生在哪一筆Record身上? ps:類似SQL Moniter的方式可將錯誤的資料抓出來,而不是只顯示"鍵值重複"... 希望各位前輩幫幫忙,給一點方向
Mickey
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-24 22:29:10 IP:218.32.xxx.xxx 未訂閱
sunny217 你好: 可以考慮用 TClientDataSet, 藉由其 Delta 屬性與 OnReconcileError 事件, 來取得進一步的 ApplyUpdate 錯誤訊息.
bestlong
站務副站長


發表:126
回覆:734
積分:512
註冊:2002-10-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-24 23:37:03 IP:61.59.xxx.xxx 未訂閱
如果你有使用 UpdateSQL 的話, 就在 OnUpdateError 事件當中處理就對了.     
procedure TF70106.Query1UpdateError(DataSet: TDataSet; E: EDatabaseError; UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction); 
其中傳入的 DataSet 所指向的紀錄就是發生錯誤的紀錄. 我是雪龍
------
http://blog.bestlong.idv.tw/
http://www.bestlong.idv.tw/
http://delphi-ktop.bestlong.idv.tw/
sunny217
一般會員


發表:4
回覆:4
積分:1
註冊:2002-03-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-01-25 10:09:09 IP:61.62.xxx.xxx 未訂閱
對不起,再請教各位前輩,由UpdateError Event中的DataSet 取得錯誤的筆數該用DataSet哪個方法?剛Try了好久,找不到可以 取得錯誤時資料內容的方法?
sunny217
一般會員


發表:4
回覆:4
積分:1
註冊:2002-03-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-01-26 07:32:00 IP:220.133.xxx.xxx 未訂閱
看來已經找到方法了 DataSet.Fields.Fields[欄位順序].NewValue; 就可以抓到發生錯誤時所停留的那比資料了 感謝兩位前輩提醒 之前有考慮用TClientDataset,但是試了一下, 實在不怎麼知道如何使用,所以才沒使用 再次謝謝兩位前輩
系統時間:2024-07-02 5:09:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!