こんなに簡単!Delphiでデータベースアプリケーション開発 1

データキャッシュ用のコンポーネントを配置する

データキャッシュ用のコンポーネントを配置する

   これでマスター側のデータをキャッシュする設定が完了しました。同様に詳細のSALESテーブル側のデータをキャッシュするために、ツールパレット 上のTDatasetProvider(DataSetProvier2)、TClientDataset(ClientDataSet2)、 TDataSource(DataSource3)コンポーネントをそれぞれダブルクリックし、フォーム上に貼り付けます(図5)。


データキャッシュ用のコンポーネントの配置(SALES用)
図5:データキャッシュ用のコンポーネントの配置(SALES用)
(画像をクリックすると別ウィンドウに拡大図を表示します)

コンポーネントのDataSourceプロパティを詳細テーブルに設定する

   マスターのCUSTOMERテーブルの関連付けと同様に、オブジェクトインスペクタ上で、 TDataSetProvider(DataSetProvier2)コンポーネントのDataSourceプロパティを詳細テーブルのSALESに、 TClientDataSet(ClientDataSet2)コンポーネントのProviderNameプロパティをDataSetProvider2 に、TDataSource(DataSource3)コンポーネントのDataSetプロパティをClientDataSet2に、それぞれ設定しま す。

関連付けられたTClientDataSetを設定する

   この状態だとキャッシュデータがマスターのテーブルのキャッシュデータとリンクされていないため、オブジェクトインスペクタ上でSALESテーブル に関連付けられたTClientDataSet(ClientDataSet2)コンポーネントのMasterSourceプロパティにマスターのテーブ ルが関連付けられているDataSource2を設定します。

「リンク項目の設計」ダイアログを表示させる

   さらに関連付けのためのキーの設定を行うために、TClientDataSet(ClientDataSet2)コンポーネントのMaterFieldsプロパティの「…」ボタンを押し、「リンク項目の設計」ダイアログを表示させます(図6)。

リンク項目の設計
図6:リンク項目の設計
(画像をクリックすると別ウィンドウに拡大図を表示します)

キャッシュされたデータ同士の関連付けを行う

   「リンク項目の設計」ダイアログ上で、リンクするための項目である「CUST_NO」を双方のリストから選択し、「追加」ボタンを押します。この設 定結果がMasterFieldsとIndexFieldNamesの2つのプロパティに反映され、キャッシュされたデータ同士の関連付けが行われます (図7)。

リンク項目の定義
図7:リンク項目の定義
(画像をクリックすると別ウィンドウに拡大図を表示します)

この記事をシェアしてください

人気記事トップ10

人気記事ランキングをもっと見る