delphi4arab منتديات دلفي للعرب
معالجة الاخطاء - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : معالجة الاخطاء (/showthread.php?tid=1216)



معالجة الاخطاء - kwahab - 17-09-2009

السلام عليكم ورحمة الله وبركاته
في جدول البينات retraite.db(table5) قمت بجعل N_ret هو الانديكس للجدول
وفي form7 عند اضافة شخص جديد برقم N_ret موجود لدى شخص اخر فان الرسالة التالية تظهر عند التنفيذ :violation de clé . والتي لاتختفي الا بفلق البرنامج ثم فتحه مرة ثانية.
اظن ان معناها واضح لكن كيف التخلص من هذا المشكل بواسطة رسالة تظهر للمستخدم تخبره بوجود شخص اخر مسجل بهذا الرقم.
حاولت بالتعليمة try....except لكن لم تنجح.
المشروع بالمرفقات وانا بانتظار ردودكم القيمة وشكرا.


معالجة الاخطاء - me_delphi - 18-09-2009

استعمل شرط مع الدالة FindKey

....if FindKey[Edit1.Text] then


معالجة الاخطاء - hanipino - 18-09-2009

السلام عليكم

يمكن ايضا :
فى حدث PostError للجدول الخامس
PHP كود :
procedure Tdm.Table5PostError(DataSet: TDataSet; E: EDatabaseError;
  var 
Action: TDataAction);
begin
  Action 
:= daAbort;
  
DataSet.Cancel;
  {
يجب معرفة نوع الخطاء لارسال رسالة على اساس ذالك الخطاء}
  
ShowMessage('??? <E: EDatabaseError> ???');
end; 



معالجة الاخطاء - kwahab - 18-09-2009

جربت الكود لكن لم ينفع. هل من طريقة اخرى
با رك الله فيكم


معالجة الاخطاء - hanipino - 18-09-2009

انا لا يحدث عندى اى مشكل
ارفقت لك ملفين هما
كود :
Unit3(*.pas, *.dfm)
قم بوضعهما فى مجلد CS (اسبدلهما بالملفين الموجودين مسبقا)


معالجة الاخطاء - kwahab - 18-09-2009

بارك الله فيك
صحيح صار لايدخل شخص برقم شخص اخر لكن الرسالة لاخبار المستخدم لاتظهر
ومشكوور مرة اخرى


معالجة الاخطاء - hanipino - 09-11-2009

السلام عليكم

رقم الخطاء فى هذه الحالة هو "9729"
لارسال رسالة على اساس هذا الخطاء نضيف مايلى :
كود :
if (E as EDBEngineError).Errors[0].ErrorCode = 9729 then ShowMessage(' ... ');

للاطلاع على ارقام الاخطاء هنا
يوجد مثال مرفق مع الدالفى يوضح هذه العمليات .