Delphi中如何取得SQL傳來的錯誤訊息,來判斷是何種錯誤呢? |
答題得分者是:wenjung
|
may
一般會員 ![]() ![]() 發表:32 回覆:26 積分:11 註冊:2003-02-11 發送簡訊給我 |
請問在Delphi中如何取得SQL傳來的錯誤訊息,來判斷是何種錯誤呢?
例如在SQL中的Proj_State table有設primary key,如果Insert相同的值
就會出現以下的錯誤提示訊息,那在Delphi中如何擷取相同的訊息呢? 'Proj_State' table
- Unable to create index 'PK_Proj_State'.
ODBC error: [Microsoft][ODBC SQL Server Driver][SQL Server]CREATE UNIQUE INDEX terminated because a duplicate key was found. Most significant primary key is '92-2626-E-231-006--01 '.
[Microsoft][ODBC SQL Server Driver][SQL Server]Could not create constraint. See previous errors.
|
wenjung
一般會員 ![]() ![]() 發表:21 回覆:61 積分:21 註冊:2002-04-29 發送簡訊給我 |
|
may
一般會員 ![]() ![]() 發表:32 回覆:26 積分:11 註冊:2003-02-11 發送簡訊給我 |
程式是在按下Button後執行,雖說這樣可截取到錯誤訊息,但是我的需求如下,謝謝!!
1.可判斷錯誤發生的原因再來自訂顯示的錯誤訊息
2.我發現假設我要Insert 10筆資料,如在第5筆發生錯誤時,就會停掉,那接下來的資料也沒辦法Insert進去了,可否讓程式繼續執行完,最後只要告訴使用者哪筆沒有成功即可。 for i:=1 to Table1.Recordset.RecordCount do begin try
Insert資料到另一個Table
except
on E: EDatabaseError do
ShowMessage(E.Message);
end;
Table1.Next ;
end;
showmessage ('共完成了' inttostr( Table1.Recordset.RecordCount) '筆' );
end
else
showmessage ('查無資料!!' );
end;
|
jimmy_wei
高階會員 ![]() ![]() ![]() ![]() 發表:9 回覆:176 積分:147 註冊:2003-08-28 發送簡訊給我 |
|
may
一般會員 ![]() ![]() 發表:32 回覆:26 積分:11 註冊:2003-02-11 發送簡訊給我 |
|
jimmy_wei
高階會員 ![]() ![]() ![]() ![]() 發表:9 回覆:176 積分:147 註冊:2003-08-28 發送簡訊給我 |
SQL 2000
唉...這個我能幫你的就不多了
1.我這兩年來都是跟ORACLE在打交道
2.SQL SERVER是好久以前用的,而且用的不深入 不過還是提供你ORACLE的方法:
相信懂SQL SERVER的人看了可以提供你方法的
還有我要更正一件事,ORACLE 20000之後才是自
定的,剛才打了一個0 SELECT COUNT(*)
INTO ICOUNT
FROM CUSTOMER
WHERE CUST_NO = 'XXXXX' IF ICOUNT <> 0 THEN
RAISE_APPLICATION_ERROR(-20008,CUST_NO||'客戶代號已存在!');
END IF; 以上是ORACLE自訂錯誤訊息的方法,不知道對妳有沒有幫助....
|
may
一般會員 ![]() ![]() 發表:32 回覆:26 積分:11 註冊:2003-02-11 發送簡訊給我 |
|
channel
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
引言: 請問在Delphi中如何取得SQL傳來的錯誤訊息,來判斷是何種錯誤呢? 例如在SQL中的Proj_State table有設primary key,如果Insert相同的值 就會出現以下的錯誤提示訊息,那在Delphi中如何擷取相同的訊息呢? 'Proj_State' table - Unable to create index 'PK_Proj_State'. ODBC error: [Microsoft][ODBC SQL Server Driver][SQL Server]CREATE UNIQUE INDEX terminated because a duplicate key was found. Most significant primary key is '92-2626-E-231-006--01 '. [Microsoft][ODBC SQL Server Driver][SQL Server]Could not create constraint. See previous errors.使用BDE請參考這篇文章:http://delphi.ktop.com.tw/topic.php?TOPIC_ID=26413 使用ADO請參考這篇文章:http://delphi.ktop.com.tw/topic.php?TOPIC_ID=28106
------
~小弟淺見,參考看看~ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |