PR

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

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

データベース接続用のコンポーネントを配置する

マスターのテーブルに関連付ける詳細のテーブルとしてSALESテーブルを使用します。先ほど行った手順と同じように、データエクスプローラからSALESテーブルをフォーム上にドラッグ&ドロップします。フォーム上のコンポーネントはわかりやすいように、マウスを使って配置するとよいでしょう(図11)。


データベース接続用のコンポーネントの配置(SALES)
図11:データベース接続用のコンポーネントの配置(SALES)
(画像をクリックすると別ウィンドウに拡大図を表示します)


DataSourceプロパティをDataSource1に設定する

マスター/フォームデザイナ上で、貼り付けたSALESテーブルのSQLDataSetコンポーネントをマウスで選択し、オブジェクトインスペクタ上のDataSourceプロパティをDataSource1(マスターのテーブルのDataSource)に設定します。

 

SALESテーブルをCUST_NOフィールドをキーとして関連付けを行う

設定されたマスターのテーブルと詳細となるSALESテーブルをCUST_NOフィールドをキーとして関連付けを行います。オブジェクトインスペクタ上のCommandTypeプロパティを、現在設定されているctTableから「ctQuery」に変更し、CommandTextプロパティをクリックして表示された「…」ボタンを押し、CommandTextの設定を行います。

テーブル名が表示されていないのであれば「DBオブジェクトの取得」ボタンを押すことで、データベースのスキーマ情報を得ることができます。また表示されたテーブルやフィールドは、それぞれ「SQLにテーブルを追加」「項目をSQLに追加」ボタンを使用することにより、SQL文にタイプミスの心配なしで追加することができます。

ここで指定するSQL文は下記のものとなります。
 

select * from SALES where CUST_NO = :CUST_NO

SQLDataSetは、実行時に「:CUST_NO」パラメータで指定されたフィールドをDataSourceプロパティで関連付けられたマスターのテーブルの同名フィールドと関連付け、マスター/詳細関係を成立させます。マスターのCUSTOMERテーブルのCUST_NOの値が変化すると、そのCUST_NOの値に基づいて対応するデータを詳細となるSALESテーブルより取得します(図12)。
 

SQL文の設定
図12:SQL文の設定
(画像をクリックすると別ウィンドウに拡大図を表示します)

これで基本となるマスター/詳細のセットは完了しました。次回はクライアントデータキャッシュの設定から実際に実行するまでの手順を紹介します。

CodeGear

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

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

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