delphi4arab منتديات دلفي للعرب

نسخة كاملة : رسائل الخطأ في قواعد البيانات : violation de clé
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته
في جداول من نوع برادوكس paradox عند تكرار المفتاح تظهر لك الرسالة التالية:
violation de clé
الكثير منا يريد تغييرها حسب ما يحتاجه
الطريقة سهلة جدا وموجودة في موضوع سابق بالمنتدى
كود :
procedure TForm1.Table1PostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); begin if (E is EDBEngineError) then if (E as EDBEngineError).Errors[0].Errorcode = 9729 then begin MessageDlg('Unable to post: Duplicate ID.', mtWarning, [mbOK], 0); Abort; end; end;

ضع هذا الكود في Table1PostError استبدل النص 'Unable to post: Duplicate ID.' بما تريد

لكن ماذا عن جداول absulate

الطريقة سهلة أيضا و الحمد لله :
كود :
procedure TForm1.ABSTable1PostError(DataSet: TDataSet; E: EDatabaseError; var Action: TDataAction); begin if (E as EABSEngineError).Errorcode=-8 then begin MessageDlg('Enregistrement existe déja !', mtWarning, [mbOK], 0); Abort; end; end;


بحثت عنها كثيرا و ها أنا أضعها لإخواني ليستفيدوا منها خصوصا أن رسالة خطأ absolute كبيرة و غير مفهومة للمستخدم العادي.
بالتوفيق.
وإذا كان الرقم التسلسلي من نوع auto_increment فما هو الحل ؟ من فظلك ولكن ممكن طريقة برمجية إدخلها في برنامجي
لأنه إذا وقعت في هذا المشكل فلا يمكن لك أن تظيف أي معلومات إلى قاعدتك .
لأنه يوجد حل في الدخول في برنامج Database Desktop وهو تغيير نوع الأنداكس من نوع تلقائي إلى نوع integer ثم حفظ ثم إعادة فتح و إرجاع النوع كما كان فيزول المشكل .
فمن لديه الحل فليجد به
أردت استعمال dbidorestructure ولكن لم أفهمها جيدا وطريقة التعامل معها
وأردت استعمال tutil32.dll دون أن أحمل مع البرنامج ملفات أخرى وأيضا عدم معرفتي لهذه المكتبة
وماذا عن اكسس ؟