1

私の Firebird フィールド (ID) は、autoinc フィールドのように機能します (ジェネレーターと機会のためのトリガーがあります)。Firebird Maestro を使用し、autoinc フィールド関数を手動で挿入すると、問題ありません (テーブルを更新するだけで済みます)。ただし、Delphi 側 (FireDac を使用) では別の問題があります。挿入しようとするとすぐに、「フィールド 'ID' には値が必要です」という警告メッセージが表示されます。何が起こっている?これを修正する方法はありますか?

編集: 写真でわかるように、フィールドは追加されますが、テーブルは挿入モードのままで、エラーが表示されます!

ここに画像の説明を入力

Edit2: ID が値を持っているという要件をオフにしましたが、それでもエラーは解決しません (メモリに残らないように、念のため接続をオンまたはオフにしました)

ここに画像の説明を入力

4

3 に答える 3

0

ID に -1 を設定します。あなたの場合、TField必須プロパティはおそらくtrueです。

于 2014-09-16T16:29:23.067 に答える
0

必要なオプションが設定されたデータセット フィールドに永続的な TField がある場合、値が割り当てられない限り Post は成功しません。この場合、挿入を拒否するのはデータベースではなく、データ アクセス フレームワークです。

そのため、永続フィールドを使用している場合はデータモジュールのデータセット コンポーネントを確認し、使用している場合はフィールド オプションを確認してください。

関連する DFM コードを質問に投稿することもできます。完全な情報がなければ、あなたの質問に答えることは困難です.

于 2014-09-17T06:41:29.450 に答える