В БД таблица имеет поле varchar(200). В приложении нужно ограничить кол-во символов в поле. Перед открытием таблицы делаю UniTable1.FieldByName('FieldName').Size:= 50;
После открытия UniTable размер поля снова сбрасывается на 200, как в БД.
Проверял на компонентах доступа ADO - такой ошибки нет, ограничение остается и работает после открытия таблицы.
Окружение: Delphi XE, UniDAC 6.2.9, MS SQL 2008R2
Не работает ограничение TStringField.Size
Re: Не работает ограничение TStringField.Size
Описанное вами поведение для строковых полей в UniDAC является корректным. Если вы хотите, чтобы данное поведение для строковых полей было изменено, то вы можете опубликовать свое предложение на нашей страничке UserVoice ( http://devart.uservoice.com/forums/1046 ... 939-unidac ) . Если данное предложение наберет достаточное количество голосов, мы рассмотрим возможность его реализации.