selamlar
Delphi 6 ve SQLServer ile geliştirdiğim projede SQL server tarafında master-detail ilişkileri tanımlamış durumdayım...örneğin master bir kayıt silindiğinde ona bağlı detail kayıtlar var ise delphi tarafında hata mesajı oluşmakta...veya dublicate kayıtlar için sql server'dan kaynaklanan hata mesajları...
yapmak istediğim :
bu hata mesajlarını delphi tarafında yakalyıp hata mesajının tipine göre kendi hata mesajımı çıkartabilmek....yani hata mesajlarını ayırt edebilmek...
örneğin dublicate için başka bir mesaj master-detail ilişkisini bozan bir işlem için başka bir mesaj...
çıkan error mesajlarının duruma göre farklı id vs. bilgileri varmıdır ?
var ise yakalayıp bu ayrımı nasıl yapabilirim...?
not : try except bloğu ile hataları kullanıcıya göstermeden standart bir mesaj çıkartmak mümkün ...istediğim işlem türüne göre farklı mesajlar...
şimdiden teşşekürler...
herkese iyi çalışmalar
DB hata mesajlarını yakalama...?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
DB hata mesajlarını yakalama...?
T.Tolga Özbaltalar - http://www.veridizayn.com
Merhaba,
aşağıdaki kalıpla yapabilirsin :
try
...
except
on EZeroDivide do ShowMessage('Sıfıra bölme hatası');
on EOverflow do ShowMessage('Taşma hatası');
on EMathError do ShowMessage('Matematiksel hata');
end;
gibi. veya direk Delphi'nin hata mesajını verdirmek istiyorsan ki bu her hata için farklı oluyor :
try
...
except
on E: Exception do ErrorDialog(E.Message, E.HelpContext);
end;
Kolay gelsin.
aşağıdaki kalıpla yapabilirsin :
try
...
except
on EZeroDivide do ShowMessage('Sıfıra bölme hatası');
on EOverflow do ShowMessage('Taşma hatası');
on EMathError do ShowMessage('Matematiksel hata');
end;
gibi. veya direk Delphi'nin hata mesajını verdirmek istiyorsan ki bu her hata için farklı oluyor :
try
...
except
on E: Exception do ErrorDialog(E.Message, E.HelpContext);
end;
Kolay gelsin.
Belirttiğiniz şey EDatabase error olarak geçiyor benim ihtiyacım olan databaseden gelen error'lerde tek bir mesaj çıkarmak değil, çıkan error koduna ulaşıp ona göre mesaj çıkarmak, örneğin DUPLICATE KEY için ayrı COLUMN REFERENCE için ayrı mesaj çıkarabilmek. Hata ID'sine ulaşabilme imkanı var mı?
Teşekkürler, iyi çalışmalar
Teşekkürler, iyi çalışmalar
T.Tolga Özbaltalar - http://www.veridizayn.com
Hata Mesajlarıyla İlgili
Bence ilgili Query/Table ın OnPostError'una
veya
gibi mesajları yakalayabileceğin gibi OnDelete Error' unda da
diyebilirsin.
Kod: Tümünü seç
if pos('PK_TABLE1',E.Message)>0 then
Showmessage('Primary Key Hatası');
Kod: Tümünü seç
if pos('UNQ_TABLE1',E.Message)>0 then
Showmessage('Bu Kayıt Zaten Var...');
Kod: Tümünü seç
if pos('FK_TABLE1',E.Message)>0 then
Showmessage('Bu Kayda Bağlı Bilgiler Var...');