سؤال

أقوم بإعداد بيانات عميل مقرها ADO، وعند محاولة إدراج قيمة فارغة في Tintegerfield، على وظيفة أحصل عليها Project raised exception class EDatabaseError with message 'Non-nullable column cannot be updated to Null'.

أعلم أنني رأيت وسيلة لتعيين حلفيل كظلالها من قبل، لكنني لا أستطيع أن أتذكر أين أو. هل يعرف اي احد كيفية اصلاح هذا؟

تحرير: يتم تعيين الحقل مطلوبا = خطأ في وقت التصميم، ولدي التحقق من أنه لا يزال خطأ في وقت التشغيل، لكن ما زلت أحصل على الخطأ.

هل كانت مفيدة؟

المحلول

هل قمت بالتحقق إذا كان حقل DB الذي يمثله هذا الحقل عقبا غير فارغ؟

نصائح أخرى

MyField.Required := False;

من المساعدة إلى دلفي 5:

property Required: Boolean;

ولكن كن على علم بما يلي:

property CustomConstraint: String;

أيضا بعض تنفيذ الفصول الدراسية الموروثة من Tdataset قد تضيف بعض المنطق الخاص بهم ...

لا أعرف إذا كان هذا سيساعد ولكن يبدو مألوفا. تحقق من الخصائص في حقول DataSet ADO التي تغذي الأقراص المضغوطة. أعلم أنه في D7 يأخذ الأقراص المضغوطة داخليا على خاصية Readonly لمجموعة بيانات المزود بغض النظر عن الإعداد الخاص بها للقراءة. قد تنطبق نفس المشكلة على الممتلكات المطلوبة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top