PR

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

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のWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスのご案内

関連記事