半日で業務アプリケーションが開発できる!(後編)

2007年9月7日(金)
米澤 千賀子

開発ステップ3:クライアントデータキャッシュの設定

   「第1回:わずか半日で業務アプリケーションを開発しよう(前編)」では、Delphiの特徴やデータベース接続コンポーネントの設定のやり方を説明しました。今回はその続きとして、データキャッシュの設定から実行するまでの手順を説明します。

   データベースアプリケーションの処理で面倒なのは、データベースサーバに問い合わせを行った結果、セットをクライアント環境でどのように扱うかとい う処理の部分です。グリッドのようにコントロールにデータを表示して編集可能にするには、クライアント環境にデータを保持し、そして双方向のカーソル移動 に対応しなければなりません。

   今回使用する「TSQLDataSet」コンポーネントは、こうしたキャッシュを持っていませんので、Next方向のみのカーソルしかできません。 しかし、Delphiにはデータをキャッシュして表示するためのコンポーネントが用意されています。こうしたキャッシュ用のデータもすべてコンポーネント によって提供されており、コンポーネントの配置とプロパティの設定だけで機能を追加できるのが、Delphiの魅力です。

   ここでは「TDataSetProvider」コンポーネントと「TClientDataSet」コンポーネントを使用して実現してみましょう。

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

   マスターのCUSTOMERテーブル側のデータをキャッシュするために、ツールパレット上にある TDatasetProvider(DataSetProvier1)、TClientDataset(ClientDataSet1)、 TDataSource(DataSource2)コンポーネントをそれぞれダブルクリックし、フォーム上に貼り付けます(図13)。

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

DataSetProviderを設定する

   オブジェクトインスペクタ上で、配置したTDataSetProvider(DataSetProvier1)コンポーネントのDataSourceプロパティをマスターのCUSTOMERに設定します(図2)。

DataSetProviderの設定
図2:DataSetProviderの設定

CUSTOMERテーブルに関連付けられているDataSetProvider1を設定する

   オブジェクトインスペクタ上で、TClientDataSet(ClientDataSet1)コンポーネントのProviderNameプロパティをCUSTOMERテーブルに関連付けられているDataSetProvider1に設定します(図3)。

ClientDataSetの設定
図3:ClientDataSetの設定

DataSourceを設定する

   オブジェクトインスペクタ上で、TDataSource(DataSource2)コンポーネントのDataSetプロパティをCUSTOMERテーブルに関連付けられているClientDataSet1に設定します(図4)。

DataSourceの設定
図4:DataSourceの設定
CodeGear

セールスエンジニア
Delphi、InterBaseをはじめとするCodeGearの開発ツール製品を担当。エンタープライズ分野でのツール適用での技術バックアップを 行っているほか、製品のローカライズQAとしても活躍している。CodeGearのサポートナレッジベース日本語版 (http://support.codegar.com/jp )の作成を手がける。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています