我有一個數據庫連接的應用程序。
使用BDE組件和數據庫連接是MySQL。德爾福查找異常的具體原因
現在我正在做一些驗證,檢查插入語句執行時是否有重複的條目。
以下是檢查主鍵屬性是否有重複條目的代碼。
var
error :string;
cmpres:integer;
begin
...
/* all my data queries */
try
Query1.ExecSQL;
Except
on E: Exception do
/*check if its a Duplicate entry or other exception*/
begin
error := E.Message;
error := copy(error,length(error)-16,length(error)-2);
cmpres :=CompareStr(LowerCase(error),'for key '+#39+'primary'+#39) ;
if cmpres = 0 then
MessageDlg('Entry already exist',mtError,[mbok],0)
else
MessageDlg('Invalid Data Entries',mtError,[mbok],0);
exit;
end;
end;
end;
數據庫異常廣泛裏面放EDatabaseError
誰能告訴我,有沒有什麼方法可以讓我這些錯誤區分,而不做信息比較。
在此先感謝
調試器告訴你什麼? – 2012-04-19 13:33:16
@DavidHeffernan調試器給我這個錯誤信息'錯誤'密鑰違規。'#$ D#$ A'[MySQL] [ODBC 5.1驅動程序] [mysqld-5.5.11]重複條目'64'主要'''''' – Shirish11 2012-04-19 13:37:59
不,我的意思是什麼**類**是錯誤,以及該類爲您提供的屬性。 – 2012-04-19 13:40:49