我正在使用 UniDAC 将我们的 Delphi XE2 应用程序从 MSSQL(使用 ADO 组件)迁移到 PostgreSQL。
在数据库中,有一些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),将记录附加到具有相同结构的另一个表中,一切正常。
怎么可能解决?谢谢。