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

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 Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

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

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