私のアプリケーションでは、ユーザーはいくつかのレコードをデータベースに追加できます。UniDac 4.6.12 コンポーネントを使用しています。
自動インクリメント フィールドにはserial
PostgreSQL 型を使用しており、アプリケーションではこのフィールドの値には触れていません。しかし、Post
記録の後、フィールドの値は0です。また、次から0を取得します。
Q := dmMain.aqrParts.LastInsertId;
データセットを更新すると、シリアル フィールド値が入力されたレコードが表示されますが、テーブルには多くのレコードがあり、ユーザーが多くのフィルターを設定する必要があるため、いくつかのレコードを取得して機能させるため、ユーザーにとって快適な方法ではありません。
私はデータセットのこの種のプロパティを使用しています:
object aqrParts: TUniQuery
Connection = psqlConnection
SQL.Strings = (
'SELECT * FROM parts.spareparts'
'LIMIT 200')
SpecificOptions.Strings = (
'PostgreSQL.UnpreparedExecute=True')
BeforePost = aqrPartsBeforePost
AfterPost = aqrPartsAfterPost
Left = 32
Top = 72
object aqrPartsId: TIntegerField
AutoGenerateValue = arAutoInc
FieldName = 'id'
Visible = False
end
...
これを解決することは可能ですか?