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

快取批次處理和主鍵衝突的問題

尚未結案
China Join
中階會員


發表:81
回覆:242
積分:89
註冊:2003-03-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-19 22:06:49 IP:61.217.xxx.xxx 未訂閱
小弟原本使用    for(int acount=0;acountCount;acount ){ try{ Table1->Append(); Table1->FieldByName("Subject")->AsString=ASubject; Table1->FieldByName("DateTime")->AsDateTime=ADate; Table1->Post(); }catch(Exception &E){ Table1->Cancel(); //if (E.Message.AnsiCompare("Key violation")) //ShowMessage("主鍵重覆"); } } 處理資料,但是因為資料很多所以將 Table1 的 CacheUpdate 屬性設定為 True,並將 Table1->ApplyUpdates(); 加在程式下方,但是這樣,上面 try ... catch 沒有作用,下面 Table1->ApplyUpdates(); 到資料重複的地方就會產生錯誤了,請問要如何處理這個問題呢 (希望在存入的同時過濾重複的資料) 另外使用快取是否要加上 StartTransaction ?但是小弟找不到 EndTransaction 之類的東西,還是不需要設定區塊 .... 不好意思,又有一大堆問題了,如果大大有空的話請幫幫小弟
BeautyGirl
一般會員


發表:1
回覆:7
積分:6
註冊:2003-04-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-20 12:09:39 IP:61.216.xxx.xxx 未訂閱
void __fastcall TForm1::Table1UpdateError(TDataSet *DataSet,       EDatabaseError *E, TUpdateKind UpdateKind,       TUpdateAction &UpdateAction) {   if (dynamic_cast(E)->Errors[0]->ErrorCode==9729) UpdateAction=uaSkip; } IT's OK
系統時間:2024-04-27 7:55:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!