データセットの操作
データセットの理解:インデックス への移動
各アクティブ データセットには、データセットでの現在の行を指す、カーソル またはポインタがあります。データセットでの現在の行とは、そのフィールドの値が、単一フィールド、フォーム上のデータ対応コントロール(Vcl.DBCtrls.TDBEdit など)、TDBLabel、Vcl.DBCtrls.TDBMemo に、現在表示されている行のことを言います。データセットが編集をサポートしている場合、現在のレコードは編集、挿入 削除の各メソッドで操作できる値を保有しています。
現在の行は、カーソルで別の行を指すことで移動することができます。次の表では、別の行に移動するためにアプリケーション コードで使用できるメソッドを一覧しています:
データセットのナビゲーション メソッド:
メソッド | カーソルを次へ移動 |
---|---|
First |
データセットの最初の行 |
Last |
データセットの最後の行 (単方向データセットでは利用不可) |
Next |
データセットの次の行 |
[前のレコード] |
データセットの前の行 (単方向データセットでは利用不可) |
MoveBy |
データセット内の指定された行数、前または後ろへ |
データ対応、ビジュアル コンポーネント Vcl.DBCtrls.TDBNavigator は、ユーザーが実行時にクリックしてレコード間を移動できるようするためのボタンとして、これらのメソッドをカプセル化しています。ナビゲータ コンポーネントの詳細については、「レコード間の移動と操作」を参照してください。
これらのメソッドを使用して(または、検索条件に従って移動するその他のメソッドによって)、現在の行を変更した際、データセットは 2 つのイベント -- Data.DB.TDataSet.BeforeScroll(現在のレコードを離れる前)と Data.DB.TDataSet.AfterScroll(新しいレコードに到達した後) -- を受け取ります。これらのイベントを使用して、ユーザー インターフェイスを更新することができます(たとえば、現在のレコードに関する情報を示すステータスバーを更新するなど)。
TDataSet はまた、2 つのブーリアン プロパティを定義します。これらは、データセット内のレコード群をイテレートする際に有用な情報を提供してくれます。
データセットのナビゲーション プロパティ:
プロパティ | 説明 |
---|---|
BOF (Beginning-of-file) |
True:カーソルはデータセットの最初の行にあるFalse:カーソルはデータセットの最初の行にあるか不明 |
EOF (End-of-file) |
True:カーソルはデータセットの最後の行にある False:カーソルはデータセットの最後の行にあるか不明 |
以下のトピックでは、これらのプロパティについて詳しく説明します: