データ値を制限する

提供: RAD Studio
移動先: 案内検索

クライアント データセットを使用したデータの取り扱い への移動


クライアント データセットは、ユーザーがデータに行う編集に、制約を付けることができます。 これらの制約は、ユーザーが変更ログに変更を送信した際に適用されます。 カスタム制約はいつでも指定することができます。 これらにより、クライアント データセットにどのような値をユーザーが送信できるのか、独自の、アプリケーション定義の制限を与えることができます。

さらに、クライアント データセットが、BDE を使用してアクセスするサーバー データを表す場合には、データベース サーバーからインポートされるデータ制約も強制することができます。 クライアント データセットが外部プロバイダのコンポーネントと動作する場合、プロバイダは、これらの制約がクライアント データセットに送信されるかどうかを制御でき、クライアント データセットは、それら使用するかどうかを制御することができます。 制約がデータ パケットに含まれるかどうかを、プロバイダがどのように制御するかについては、「サーバーからの制約の処理」を参照してください。 クライアント データセットで、サーバー制約の実行をオフにする方法とその理由については、「サーバーからの制約の処理」を参照してください。

カスタム制約の指定

クライアント データセットのフィールド コンポーネントのプロパティを使用して、データ ユーザーが入力できる内容に、独自の制約を課すことができます。 各フィールド コンポーネントには、制約を指定するために使用できるプロパティが 2 つあります:

  • DefaultExpression プロパティ -- ユーザーが値を入力しない場合、フィールドに割り当てるデフォルト値を定義します。 データベース サーバーまたはソース データセットもまた、フィールドに対してデフォルト式を割り当てている場合、クライアント データセットの方が優先されます。これは、更新が、データベース サーバーやソース データセットに戻され適用される前に、割り当てられるからです。
  • CustomConstraint プロパティ -- フィールド値が送信される前に満たさなければならない制約条件を割り当てることができます。 この方法で定義されるカスタム制約は、サーバーからインポートされる制約に加えて適用されます: フィールド コンポーネントに対するカスタム制約の操作については、「カスタム制約の作成」を参照してください。

また、クライアント データセットの Constraints プロパティを使用すると、レコード レベルの制約も作成することができます。 Constraints は、Data.DB.TCheckConstraint オブジェクトのコレクションであり、各オブジェクトが個別の条件を表します。 TCheckConstraint オブジェクトの CustomConstraint プロパティを使用すると、レコードを送信する際にチェックされる独自の制約を追加することができます。

関連項目