データセットの操作
データセットの理解:インデックス への移動
アクティブなデータセットにはデータセットの現在の行を指すカーソル,つまりポインタがあります。データセットの現在行の項目値は,Vcl.DBCtrls.TDBEdit,TDBLabel,Vcl.DBCtrls.TDBMemo などのフォーム上の単一項目のデータベース対応コントロールに表示されます。データセットが編集をサポートしている場合は,現在のレコードの値を編集,挿入,削除のメソッドを使って操作できます。
カーソルを別の行に移動すれば現在の行を変更できます。表に別のレコードへの移動のためにアプリケーションのコードで使用できるメソッドを示します。
データセット内移動メソッド :
メソッド | カーソルの移動先 |
---|---|
First |
データセットの最初の行に移動する |
Last |
データセットの最後の行に移動する(単方向データセットでは使用不可) |
Next |
データセットの次の行に移動する |
Prior |
データセット中の前の行に移動する(単方向データセットでは使用不可) |
MoveBy |
指定された行だけデータセット内を前後に移動する |
データベース対応のビジュアルコンポーネント Vcl.DBCtrls.TDBNavigator は,以上のメソッドをボタンとしてカプセル化し,ユーザーが実行時にそのボタンをクリックしてレコード間を移動できるようにしています。ナビゲータコンポーネントの詳細は,「レコード間の移動と操作」を参照してください。
これらのメソッド(または検索基準に基づいて移動するほかのメソッド)のうちの 1 つを使って現在のレコードを変更する場合,データセットは常に 2 つのイベントを受け取ります。DB.BeforeScroll(現在のレコードを離れる前)および DB.AfterScroll(新しいレコードに到着した後)です。これらのイベントは,ユーザーインターフェースを更新するために使用することができます(たとえば,現在のレコードについての情報を示すステータスバーの更新)。
TDataSet にはまた,データセットのレコードを繰り返し処理するときに役立つ情報を提供するものとして,以下の 2 つの論理値プロパティがあります。
データセット内移動プロパティ :
プロパティ | 説明 |
---|---|
BOF(ファイルの先頭) |
True:カーソルはデータセットの最初の行にある False:カーソルはデータセットの最初の行にない |
EOF(ファイルの終わり) |
True:カーソルはデータセットの最後の行にある False:カーソルはデータセットの最初の行にない |
これらのプロパティとメソッドについて以下のトピックで説明します。