لن يسمح لي Delphi بإدراج الصفوف ذات الأعمدة المفقودة، ولكن مع مشغلات ومولدات لتلك الحقول

StackOverflow https://stackoverflow.com/questions/9021397

سؤال

المشكلة بسيطة: لدي مشغلات ومولدات في قاعدة بيانات Firebird 2.1.4 لإجراء زيادة في العمود على كل إدراج.

بنية النظام على النحو التالي: giveacodicetagpre.

ومع ذلك، إذا حاولت نشر التحديثات في TclientDataset مع بعض العمود المفقود، فسوف يشكو Delphi مثل هذا: giveacodicetagpre.

إذا كنت أستخدم عبارة إدراج SQL مع هذه الحقول مفقودة، يتم إدراج الصف ويعمل المشغلات والمولدات كما هو متوقع.

كيف أقوم بإجراء دلفي (DBX، DataSnap ومثل هذه) فهم ما أحاول القيام به (والسماح بذلك)؟

تحرير

توفير مزيد من المعلومات بناء على تعليق @ MJ2008: يتم إنشاء TclientDateSet هذه في وقت التشغيل، باستخدام طريقة Clonecursor.بعد استدعاء Clonecursor، قمت بتعيين الخاصية المطلوبة لهذا الحقل إلى False.لا يساعد في هذه المشكلة.مثال: giveacodicetagpre.

ينتج عن هذا الاستثناء نفسه.

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

المحلول

I had to set the TSQLDataset's Required property to False too. That solved the issue.

نصائح أخرى

Just to complement: when you do a TClientDataset setting, the updates are in the end sent to the data access component, in this case TSQLDataset, so even if the TClientdataset doesn't require the field's value, if the data access component requires it the error is raised.

It'll be the same even if data come from a TADODataset, TIbDataset, or whatever.

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