Как объявить TField допускающим значение NULL?
Вопрос
Я настраиваю клиентский набор данных на основе 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 набора данных провайдера независимо от его собственной настройки только для чтения.та же проблема может относиться и к требуемому свойству.