** 關於ADO 主從表的UpdateCatch (批量更新) 問題,請高人指教? |
|
yimten
一般會員 ![]() ![]() 發表:1 回覆:0 積分:0 註冊:2004-12-31 發送簡訊給我 |
** 關於ADO 主從表的UpdateCatch (批量更新) 問題,請高人指教? 初始: 主表 SA LockType = ltBatchOptimistic , CacheSize=1000
從表 SA_ITEM LockType = ltBatchOptimistic, CacheSize = 1000 當新增時 (SA.Append)
SA 明細輸完後,輸入多筆SA_ITEM
當 SA_ITEM (not noll) 欄位都輸完,保存正常.
例如 (1)
A B C
**********************
1 1 a
2 2 3
**********************
(表1)
假如欄位C 為(not NULL) 把以上資料改成如下
A B C
****************
1 1 a
2 2
******************
表 (2)
其中 欄位C第二條記錄為空,我點保存,提示錯誤資訊(正常,因為欄位C第條欄位值為空)
然後我把欄位C 第二條記錄補上,跟(表1)資料一樣,
或把第二條記錄刪除(sa_item.delete )
保存時還是提示錯資訊. 我的保存代碼是:
Try
AdoConnection1.BeginTrans; // 事務開始
sa.UpdateBatch();
sa_item.UpdateBatch();
DMData.ADOConnection1.CommitTrans; // 提交
Except
DMData.AdoConnection1.RollbackTrans; // 回滾
Raise Exception.Create('操作被返回,請檢察資料後重試.');
End; 要保住輸入的資料, 改改錯誤再保存
請指點這是為什麼,應該怎麼處理?
|
smallfox
高階會員 ![]() ![]() ![]() ![]() 發表:2 回覆:113 積分:128 註冊:2003-02-19 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |