NULL отсутствует при переходе от Anydac к Firedac
Я перемещаю код из Delphi 2007 + AnyDac
в Delphi XE4 + FireDac
, В AnyDac
случай, когда все пустые строки были сохранены как NULL
, И в FireDac
все пустые строки хранятся как пустые строки ''
,
Мне нужно вернуться к NULL. Каков наилучший способ сделать это? Я храню в БД, используя параметры:
ADQuery.Params.ParamByName('Code').Value :=Code;
1 ответ
Решение
Включить (установите значение True в Инспекторе объектов) StrsEmpty2Null
вариант к FormatOptions
вашего объекта набора данных. Ссылка говорит (подчеркнуто мной):
Управляет преобразованием строковых значений нулевой длины в значение NULL. Используйте свойство StrsEmpty2Null, чтобы контролировать, должен ли FireDAC преобразовывать строковые значения с нулевой длиной в значение NULL (True) или нет (False). Значением по умолчанию является False.