Я переношу наше приложение Delphi XE2 из MSSQL (используя компоненты ADO), в PostgreSQL, используя UniDAC.PostgreSQL serial (автоинкремент) с UniDac на Delphi XE2
В базе данных есть поля типа serial
(автоинкременты). Когда я добавляю запись, я не помещаю никаких данных в это поле автоинкремента. Формально, с MSSQL/ADO он работает автоматически, но теперь у меня есть исключение.
Код:
aqrMsgs.Append;
aqrMsgsUser_From.AsInteger := UserId;
aqrMsgsUser_To.AsString := UserIds[I];
aqrMsgsSubject.AsString := Trim (edtSubject.Text);
aqrMsgsContents.AsString := mmoContents.Text;
aqrMsgsIsDone.AsBoolean := False;
aqrMsgs.Post;
И исключение:
Поле 'ID' является TIntegerField
, не TAutoIncrementField.
Кстати, если я использую возможность редактирования DBGrid (точно, я использую ExpressQuantumGrid), чтобы добавить записи в другую таблицу с одинаковой структурой, все работает нормально.
Как это можно решить? Спасибо.