我有一箇舊的Delphi 7應用程序,從一個數據庫表中加載數據,進行許多操作和計算,並最終將記錄寫入目標表。TClientDataset ApplyUpdates錯誤,因爲數據庫表約束
這個舊的應用程序調用爲了性能的原因,每500條記錄應用更新。
問題是,有時候,在這堆記錄中有一個會觸發數據庫約束; Delphi在ApplyUpdates上觸發例外。
我的問題是我不知道哪個記錄負責這個例外。有500名候選人!
是否有可能要求TClientDataset哪個是違規記錄?
我不想爲速度問題ApplyUpdates foreach追加記錄。
可能是最好的方法是applyUpdates foreach只有在500條記錄的異常之後。 – philnext 2012-04-10 14:55:58
@philnext我不明白你的意思。 – Jako 2012-04-10 20:18:24
在500條記錄上ApplyUpdates,如果一切正常,請爲下一個500個記錄執行操作,如果有異常,則爲每個500條記錄ApplyUpdates,直到出現異常爲止,對待並繼續... – philnext 2012-04-11 09:09:26