TDBXError 超過容量而無法建立新異動 這是什麼樣的錯誤? |
缺席
|
pc1820
一般會員 ![]() ![]() 發表:3 回覆:2 積分:1 註冊:2003-05-22 發送簡訊給我 |
各位先進大家好. 我使用DBExpress開發資料庫應用程式. DB是SQL Server 2000.
當我在執行程式後, 新增修改資料都沒問題也可正常儲存, 但是偶而新增一筆要儲存時資料出現一個錯誤, 錯誤訊息是: TDBXError 超過容量而無法建立新異動 , 請問這錯誤是在什麼情況下會發生. 原因為何? 我使用DBExpress的方式設計程式的. TSQLConnection <- TSQLQuery <- TDataSetProvider <- TClientDataSet <- TDataSource 另外所有的Form都繼承自一個BaseForm, BaseForm上放了上列的元件, ClientDataSet的AfterEdit AfterInsert AfterDelete會呼叫一個進行資料Transaction的程序. procedure TBaseForme.UpdateMasterData; var ATD : TTransactionDesc; begin ATD.TransactionID := 1; ATD.IsolationLevel := xilREADCOMMITTED; qyMaster.SQLConnection.StartTransaction(ATD); try //將游標變為漏斗 Screen.Cursor := crHourglass; try if cdsMaster.ChangeCount > 0 then cdsMaster.ApplyUpdates(0); except on E: Exception do begin qyMaster.SQLConnection.Rollback(ATD); cdsMaster.CancelUpdates; raise Exception.Create('儲存失敗!' #10#13#10#13 '錯誤訊息:' #10#13 E.Message); end; end; qyMaster.SQLConnection.Commit(ATD); finally //把游標變為預設值 Screen.Cursor := crDefault; end; end; 附註: 我這程式是2-Tire, 沒有中間層. |
pc1820
一般會員 ![]() ![]() 發表:3 回覆:2 積分:1 註冊:2003-05-22 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |