線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1121
推到 Plurk!
推到 Facebook!

关于dbedit的异常捕获问题?

尚未結案
h_o_u_l_i
一般會員


發表:2
回覆:0
積分:0
註冊:2003-03-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-03-30 22:09:28 IP:202.106.xxx.xxx 未訂閱
当使用dbedit组件进行数据存取时,dbedit产生的异常均为Eabort类,导致无法 获得正确的源生数据库错误码,进而无法进行错误处理。    例如:通过tdbedit向有主键的表中输入重复的记录,或向有关联(外键)的子表中输入主表中没有的记录时,此时 dbedit产生Eabort类的错误,而并非DBEngineError类的错误,从而无法获得当前错误的类型,即无法 取得errorcode和nativeerror的值.    使用TEdit来显示表内容,并配合sql语句进行更新时产生的就是DBEngineError类错误,可以使用如下语句 e.errors[0].errorcode; e.errors[0].nativeerror; 来获得源生数据库错误码,但使用tedit进行数据表显示及修改都不如TDBedit来的方便,而且需要写更多的代码。    请问我该如何修改dbedit组件,以获得正确的 数据库错误码从而进行错误处理?或者是否还有其他更好的方法来进行错误处理?
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-03-31 08:34:12 IP:218.16.xxx.xxx 未訂閱
我記得主鍵外鍵的違反,無論用 TEdit 或 TDBEdit 都是 EDBEngineError 的,為了證實我剛才也重新試試,也是這樣。 其實,主鍵外鍵的違反是當 DataSet.Post 時才會發生的,產生異常的是 DataSet 而不是 Edit 元件,跟本上就與 TEdit 或 TDBEdit 無關,我想是你其他的設定式程式碼所致罷。 你最好在一個全新的專案測試,全部按預設設定,只測試 TEdit 和 TDBEdit 的分別。
系統時間:2024-05-16 22:36:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!