2009-08-06 2 views
2

私は、ADOベースのクライアントデータセットを設定していて、私はTIntegerFieldにNULL値を挿入しようとすると、ポストに私はnullとしてのTFieldを設定する方法を見てきました知っているProject raised exception class EDatabaseError with message 'Non-nullable column cannot be updated to Null'.TFieldをnullableとして宣言するにはどうすればよいですか?

を取得します前に、しかし、私はどこまたはどのように覚えていない。誰もがこれを修正する方法を知っていますか?

EDIT:フィールドはデザイン時にRequired = falseに設定されていますが、実行時にそれでもfalseであることが確認されていますが、まだエラーが発生します。ヘルプからデルファイ5に

答えて

4

このフィールドのdbフィールドが であることを確認しましたか?拘束?

+0

* sigh *もちろん。それは問題だった... –

+0

hehehehe ...それは私に何度も起こった...それは私が確認する最初の事の一つです... ;-) –

1
MyField.Required := False; 
0

property Required: Boolean; 

が、注意してください。TDataSetのから継承したクラスのいくつかの実装が自分でいくつかのロジックを追加することもまた

property CustomConstraint: String; 

...

+0

ええ、明らかにここがそうです。 –

0

これが役立つかどうかわかりませんが、使い慣れていると思います。 cdsにフィードするADOデータセットのフィールドのプロパティを確認します。私はd7でcdsが独自の読み取り専用設定に関係なくプロバイダのデータセットのreadonlyプロパティを内部的に使用することを知っています。同じ問題が必要なプロパティに適用される可能性があります。

関連する問題