Delphi. FireDAC. Установка значений по умолчанию

Данная статья посвящена установке значений для полей, по умолчанию. Она основана на официальной документации

-Старая версия

-Новая версия

Обработчик OnNewRecord 

В Delphi стандартным путем для ассоциирования значений по умолчанию является  OnNewRecord. Он запускается сразу после того как автоинкрементные записи и записи из вспомогательных таблиц получают свои значения. Обработчик может переписать эти значения, используя свою логику. Обработчик может быть ассоциирован с датасетом в любое время. 

Установка значения по умолчанию

Можно воспользоваться свойством TField.DefaultExpression. Выражение будет оценено один раз как вызов Insert / Append и ассоциировано как значение по умолчанию. Позже, это значение может быть переписано приложением. Когда у поля тип TField.FieldKind = fkInternalCalc, тогда DefaultExpression будет использовано, чтобы калькулировать поле. 

Если значение назначено полю DefaultExpression тогда когда dataset закрыт, тогда оно будет актуализировано автоматически. Когда датасет открыт – вызовите метод UpdateAttributes, чтобы актуализировать изменения. Например

FireDAC не “фетчит”, то есть не получает значения по умолчанию из словаря БД. Наиболее простой путь – сделать это – ассоциировать выражtние через FieldsEditor в design-time

 

by Stanislav_Panteleev