23-06-2009, 04:53 PM
إقتباس : (هناك اشياء يراها اشخاص اخطاء واخرون رائعة...كانت مجرد وجهة نظر :o، ...وأحيانا يتفقون :p)
اكتفيت بكتابة شيء مثل:
PHP كود :
if not (DataSet.State = dsInsert) then Exit;
DataSet.FieldByName('BookID').AsString := 'BK'+
Format('%0.4d',[DataSet.RecordCount+1]);
في الحدث BeforePost.
... لكن المشكلة إذا حذف تسجيل سابق، فسيحدث خلل عند إضافة تسجيل جديد
مثلا:
في هذا المثال: ستكون قيمة الحقل في أول تسجيل: BK0001 والذي بعده BK0002
لكن ماذا سيحدث لو قام المستخدم بحذف السطر المعرف بـ : BK0001 ثم حاول إضافة حقل جديد...
سيفاجئ برسالة خطأ لأن القيمة المخرجة هي BK0002 وهي نفس القيمة في السطر السابق، ذلك لأن الحقل مفتاح أساسي لا يقبل قيم مكررة.
ما أفضل طريقة للتخلص من ذلك؟
شكرا مسبقا

