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

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

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

データセットの状態(または,モード)によって,そのデータに対して何ができるかが決まります。たとえばデータセットが閉じた場合,その状態は dsInactive になり,そのデータに対して何もできないことが示されます。実行時にデータセットの読み出し専用 State プロパティを調べれば,データセットの現在の状態がわかります。次の表に State プロパティの値とその意味を示します。

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



状態 意味

dsInactive

停止

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

dsBrowse

参照

データセットは開いている。データの取得はできるが,変更はできない。これは,開いているデータセットのデフォルトの状態である

dsEdit

編集

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

dsInsert

挿入

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

dsSetKey

SetKey

データセットは開いている。範囲の設定および範囲の設定に使用されるキーの値と GotoKey の操作ができる(すべてのデータセットでサポートされているわけではない)

dsCalcFields

CalcFields

データセットは開いている。OnCalcFields イベントが進行中であることを示す。計算項目以外の項目の変更を防止する

dsCurValue

CurValue

データセットは開いている。キャッシュされた更新の適用時のエラーに応答するイベントハンドラのために,項目の CurValue プロパティを取得中であることを示す

dsNewValue

NewValue

データセットは開いている。キャッシュされた更新の適用時のエラーに応答するイベントハンドラのために,項目の NewValue プロパティを取得中であることを示す

dsOldValue

OldValue

データセットは開いている。キャッシュされた更新の適用時のエラーに応答するイベントハンドラのために,項目の OldValue プロパティを取得中であることを示す

dsFilter

フィルタ

データセットは開いている。フィルタが動作中であることを示す。取得できるデータは限られており,データの変更はできない(単方向データセットでは未サポート)

dsBlockRead

ブロック読み出し

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

dsInternalCalc

内部計算

データセットは開いている。レコードに保存されている計算値に対して OnCalcFields イベントが進行中である(クライアントデータセット専用)

dsOpening

開いている

DataSet が開く途中であって完全に開いていない。この状態が発生するのは,データセットが非同期フェッチのために開かれたとき



通常,アプリケーションはデータセットの状態をチェックして,特定のタスクをいつ実行するべきかを決定します。たとえば,更新を登録する必要があるかどうかを確認するために,dsEditdsInsert 状態をチェックする場合があります。

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

関連項目