2

ADOベースのクライアントデータセットを設定しています。TIntegerFieldにnull値を挿入しようとすると、Postで次のようになります。Project raised exception class EDatabaseError with message 'Non-nullable column cannot be updated to Null'.

TFieldをnull許容として設定する方法を見たことはありますが、どこでどのように設定するかを思い出せません。誰かがこれを修正する方法を知っていますか?

編集:フィールドは設計時に必須= falseに設定され、実行時にまだfalseであることを確認しましたが、それでもエラーが発生します。

4

4 に答える 4

4

このフィールドが表す db フィールドに not null 制約があるかどうかを確認しましたか?

于 2009-08-06T21:16:52.753 に答える
1
MyField.Required := False;
于 2009-08-06T20:54:38.460 に答える
0

これが役立つかどうかはわかりませんが、おなじみのようです。CDをフィードするadoデータセットのフィールドのプロパティを確認してください。d7では、cdsは、独自の読み取り専用設定に関係なく、プロバイダーのデータセットの読み取り専用プロパティを内部的に取得することを知っています。同じ問題が必要なプロパティにも当てはまる場合があります。

于 2009-08-07T03:40:52.060 に答える
0

ヘルプからDelphi5へ:

property Required: Boolean;

ただし、次の点に注意してください。

property CustomConstraint: String;

また、TDataSetから継承されたクラスの一部の実装では、独自にロジックが追加される場合があります...

于 2009-08-06T20:58:14.817 に答える