Вопрос

Я настраиваю клиентский набор данных на основе ADO, и когда я пытаюсь вставить нулевое значение в TIntegerField, в сообщении Post я получаю Project raised exception class EDatabaseError with message 'Non-nullable column cannot be updated to Null'.

Я знаю, что раньше видел способ установить для TField значение NULL, но не могу вспомнить, где и как.Кто-нибудь знает, как это исправить?

РЕДАКТИРОВАТЬ:Во время разработки для этого поля установлено значение Required = false, и я проверил, что оно по-прежнему имеет значение false во время выполнения, но ошибка все равно появляется.

Это было полезно?

Решение

Вы проверяли, если в поле DB, которое представляет это поле, не имеет нулевого ограничения?

Другие советы

MyField.Required := False;

Из справки по Delphi 5:

property Required: Boolean;

но имейте в виду:

property CustomConstraint: String;

Также некоторые реализации классов, унаследованных от TDataSet, могут добавлять собственную логику...

не знаю, поможет ли это, но звучит знакомо.проверьте свойства полей набора данных ADO, который передает компакт-диски.Я знаю, что в d7 cds внутренне принимает свойство readonly набора данных провайдера независимо от его собственной настройки только для чтения.та же проблема может относиться и к требуемому свойству.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top