データセットの状態の決定

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

データセットの理解:インデックス への移動


データセットの状態(またはモード)によって、そのデータに対して何ができるかが決まります。たとえば、データセットが閉じられた際、その状態は dsInactive となり、そのデータに対しては何もできない、ということを意味します。実行時、データセットの読み取り専用 State プロパティを?することで、その現在の状態を判断することができます。次の表では、State プロパティが取りえる値と、その意味がまとめてあります:

データセットの State プロパティの値:

状態 意味

dsInactive

Inactive

データセットは閉じている。そのデータは利用できない。

dsBrowse

Browse

データセットは開いている。そのデータは参照できるが、変更できない。これは、開いているデータセットのデフォルトの状態です。

dsEdit

Edit

データセットは開いている。 現在の行は変更できる(単方向データセットでは未サポート)

dsInsert

Insert

データセットは開いている。 新しい行が挿入または追加された(単方向データセットでは未サポート)

dsSetKey

SetKey

データセットは開いている。 範囲とその範囲に使用されるキー値の設定、および、GotoKey オペレーションが利用可能(すべてのデータセットでサポートされているわけではない)

dsCalcFields

CalcFields

データセットは開いている。 OnCalcFields イベントが進行中。計算フィールド以外のフィールドへの変更を抑制する。

dsCurValue

CurValue

データセットは開いている。 フィールドの CurValue プロパティが、キャッシュされた更新の適用時のエラーに応答する、イベント ハンドラのためにフェッチされていることを示す。

dsNewValue

NewValue

データセットは開いている。 フィールドの NewValue プロパティが、キャッシュされた更新の適用時のエラーに応答する、イベント ハンドラのためにフェッチされていることを示す。

dsOldValue

OldValue

データセットは開いている。 フィールドの OldValue プロパティが、キャッシュされた更新の適用時のエラーに応答する、イベント ハンドラのためにフェッチされていることを示す。

dsFilter

Filter

データセットは開いている。 フィルタ オペレーションが進行中。データの限定されたセットが表示できるが、どのデータも変更できない。(単方向データセットでは未サポート)

dsBlockRead

Block Read

データセットは開いている。 データ対応コントロールは更新されず、イベントは現在のレコードが変更されても発生しない。

dsInternalCalc

Internal Calc

データセットは開いている。 OnCalcFields イベントは、レコードに格納されている計算値に対して進行中。(クライアント データセットのみ)。

dsOpening

Opening

データセットは、開くプロセス中だが、完了していない。この状態は、データセットが非同期フェッチのために開かれようとしている際に発生する。



大抵の場合、アプリケーションはデータセットの状態を?して、特定のタスクを実行するかどうかを決定します。たとえば、dsEdit または dsInsert の状態をチェックし、更新を投稿する必要があるかどうかを確認します。

メモ: データセットの状態が変更されるといつでも、OnStateChange イベントは、そのデータセットに関連づけられているデータソース コンポーネントに対して呼び出されます。データソース コンポーネントと OnStateChange の詳細については、「データソースに仲介された変更に応答する」を参照してください。

関連項目