Delphi Can
Store Procedure içinden hata alma - Baskı Önizleme

+- Delphi Can (https://www.delphican.com)
+-- Forum: Veri Tabanı (https://www.delphican.com/forumdisplay.php?fid=4)
+--- Forum: MS SQL Server (https://www.delphican.com/forumdisplay.php?fid=103)
+--- Konu Başlığı: Store Procedure içinden hata alma (/showthread.php?tid=2256)



Store Procedure içinden hata alma - Bay_Y - 22-05-2018

Herkese merhabalar ; 

Delphi içinden kullandığımız Store Procedure lerde   
AdoStoredProc bileşeni ile çalıştırdığımızda oluşan hataları delphi içinden nasıl alabiliriz. Bununla ilgili kullandığım bir örnek vardı ama çokda verim alamadım açıkcası farklı bir yöntem varsa onu öğrenmek isterim.

Teşekkürler.

parametre gönderirken
AdoProc1.Parameters.ParamByName('@hata').Value;
AdoProc1.Parameters.ParamByName('@hata').Direction := pdOutput;


parametreyi okurken
AdoProc1.Parameters.ParamByName('@hata').Value

Hata diye bir değişken tanımlayıp o değişkene atama yapıyorum

BEGIN TRY

END TRY


BEGIN CATCH
    SET @hata=ERROR_MESSAGE()
RAISERROR ('Hata Oluştu : ' ,16,1)
END CATCH



Cvp: Store Procedure içinden hata alma - adelphiforumz - 22-05-2018

Şuanda bulunduğum yerde delphi yok yanlış hatırlamıyorsam onPostError diye event olması lazım


Sql tarafından gönderilen exceptionları yakalıyordu


Cvp: Store Procedure içinden hata alma - narkotik - 22-05-2018

(22-05-2018, Saat: 16:55)Bay_Y Adlı Kullanıcıdan Alıntı: Herkese merhabalar ; 

Delphi içinden kullandığımız Store Procedure lerde   
AdoStoredProc bileşeni ile çalıştırdığımızda oluşan hataları delphi içinden nasıl alabiliriz. Bununla ilgili kullandığım bir örnek vardı ama çokda verim alamadım açıkcası farklı bir yöntem varsa onu öğrenmek isterim.

Teşekkürler.

parametre gönderirken
AdoProc1.Parameters.ParamByName('@hata').Value;
AdoProc1.Parameters.ParamByName('@hata').Direction := pdOutput;


parametreyi okurken
AdoProc1.Parameters.ParamByName('@hata').Value

Hata diye bir değişken tanımlayıp o değişkene atama yapıyorum

BEGIN TRY

END TRY


BEGIN CATCH
    SET @hata=ERROR_MESSAGE()
RAISERROR ('Hata Oluştu : ' ,16,1)
END CATCH

SQL tarafında Try Catch kullanıyorsanız SET @hata=ERROR_MESSAGE() RAISERROR ('Hata Oluştu : ' ,16,1)) bunu bir temp tabloya doldurup kontrollerle işlem yapabilirsiniz. Yada bir değişken tanımlayıp SQL'de bunu output olarak belirleyip hatayı ona atayarak işlem yapılabilir, şimdilik aklıma gelen bunlar


Cvp: Store Procedure içinden hata alma - adelphiforumz - 23-05-2018

Sorgu nesneni try except içine alırsan exceptte oluşan E.message senin sql üzerinden gönderdiğin mesaj olur


Store Procedure içinden hata alma - Bay_Y - 23-05-2018

herkese teşekkürler , yazılanları deneyip bir çözüm bulmaya çalışacağım bir sonuca ulaşabilirsem burdan tekrar yazarım.

tekrar teşekkürler.