データベースコンポーネントの基本的な使い方
Delphiではデータベースコンポーネントを使用して、簡単にデータベースにアクセスできます。
データベースコンポーネントをフォームに貼り付けるには
- コンポーネントパレットのData Accessタブを選択します。
- DataSourceとTableコンポーネントをドラッグしてフォームに配置します。このコンポーネントは実行時不可視なので場所はどこでもかまいません。
- フォーム上のTableコンポーネントをクリックして、そのプロパティをオブジェクトインスペクタに表示させます。
- DatabaseNameプロパティを入力します。このデータベース名はBDEのエリアスまたはODBCのデータソース名(DSN)です。
- TableNameプロパティを入力します。このテーブルはDatabaseNameで設定したデータベースに含まれるテーブルでなければなりません。
- 必要ならNameプロパティを変更します。
- フォーム上のDataSourceコンポーネントをクリックして、そのプロパティをオブジェクトインスペクタに表示させます。
- DataSetプロパティをTableコンポーネントのNameプロパティの値にします。
データベースカーソルを移動させるためのナビゲータを貼り付けるには
- コンポーネントパレットのData Controlsタブを選択します。
- DBNavigatorコンポーネントをドラッグしてフォームの適切な位置に配置します。
- DataSourceプロパティにフォームに貼り付けたデータソースコンポーネントのNameプロパティの値を入力します。
- 必要ならNameプロパティを変更します。
テーブルの内容を表示するコントロールをフォームに貼り付けるには
- コンポーネントパレットのData Controlsタブを選択します。
- DBEdit(一例)をドラッグしてフォームに貼り付けます。
- DataSourceプロパティを先に貼り付けたDataSourceコンポーネントのNameプロパティと同じ値にします。
- DataFieldプロパティを表示したいフィールドに設定します(フィールド一覧から選択します)。
- 表示のみならReadOnlyプロパティをTrueにします。また、必要ならNameプロパティを変更します。
ナビゲータを隠してボタンなどでナビゲートするには
- フォームに貼り付けたDBNavigatorコンポーネントをクリックして、そのプロパティをオブジェクトインスペクタに表示させます。
- VisibleプロパティをFalseに変更します。
- コンポーネントパレットのStandardタブを選び、その中からButtonコンポーネントをフォームにドラッグします。
- フォーム上のButtonコンポーネントをクリックして、オブジェクトインスペクタでCaptionプロパティ(ここでは一例としてNextとします)を変更します。また、Nameプロパティもわかりやすいように変更します(ここではbtnNextとします)。
- フォーム上のButtonコンポーネントをダブルクリックして、コードを表示させます。
- TForm1.btnNextClick(Sender: TObject)に、つぎの1行を追加します。
DBNavigator1.BtnClick(nbNext);
(注意)
Visual Basicのデータコントロールなどと違って、Delphiのナビゲータコントロールはテーブルと関連付けただけでは、レコードセットにアクセスできません。TableコンポーネントのOpenメソッドをまず実行する必要があります。