☆BDP.NETを使ったマスター/詳細

Windowsフォームアプリケーションで、BDP.NET を使って InterBase のデータベースをマスター/詳細に設定し、フォーム上の2つのDataGridに表示させて見ました。
(試行錯誤した結果なので、この方法が正しいかどうかは疑問ですので、ご注意を・・・。)

1.BdpConnection1 を配置します。
  次に、オブジェクトインスペクタ下部の接続エディタをクリックしてデータベースを
  設定します。

2.BdpDataAdapter1 を配置します。
  a) オブジェクトインスペクタ下部のデータアダプタの設定をクリックします。
  b) テーブル一覧からマスターテーブルに該当するものを選択します。
  c) SQL生成ボタンを押します。
  d) データセットタブに移動して、データセットの新規作成を選択し、
    OKボタンを押します。
  e) BdpDataAdapter1 の Active を True にして False にします。
    ※この動作により dataSet1 の Tables 内に、このテーブルが追加されます。
    ※これをしないでリレーションを設定しようとすると
     「リレーションを追加する前に、データセットにテーブルが必要です。」
     とエラーメッセージが表示されます。

3.BdpDataAdapter2を配置します。
  a) オブジェクトインスペクタ下部のデータアダプタの設定をクリックします。
  b) テーブル一覧から詳細テーブルに該当するものを選択します。
  c) SQL生成ボタンを押します。
  d) データセットタブに移動して、既存のデータセットを選択し、OKボタンを押します。
    ※このとき BdpDataAdapter1 で作成したデータセットと同じものを選択します。
  e) BdpDataAdapter2 の Active を True にして False とします。

4.自動的に作成された dataSet1 の設定
  a) Relations のボタンをクリックします。
  b) 追加ボタンを押します。
  c) 親テーブルにマスター、子テーブルに詳細テーブルが表示されていることを
    確認して、キー列と外部キー列で該当するフィールドを選択します。
   ※名前は、デフォルトのリレーション1のままで問題なかったです。
  d) OKボタンを押してから、閉じます。
   ※BdpDataAdapterがOpenされていてもこの作業によりCloseされます。

5.DataGrid を2つフォームに配置します。
  a) DataGrid1 の DataSourceDataTable1 とします。
  b) DataGrid1 の AllowNavigationFalse とします。
    ※これは必要ありませんが、マスター側で詳細が参照できてややこしいから。
  c) DataGrid2 の DataSourceDataTable1 とします。
  d) DataGrid2 の DataMemberリレーション1 とします。

6.BdpDataAdapter1、BdpDataAdapter2 の ActiveTrue にして、実行します。

一応、マスター/詳細になっています。
(くどいですが、この方法が正解かどうかは不明です。)

DBExpress の時もマスター/詳細の設定がわからなくて、FDelphiで教えて頂いたことを思い出しました。
Helpを、もう少し親切に作ってくれたらなぁ~。

|

その他のカテゴリー

ADO | ADT | API | ArrayList | ASP.NET | BDE | BDP.NET | BdpConnection | Borland Developer Studio 2006 | CAPICOM | class | ClipBoard | CodeEditor | Convert.ToString | Custom component | DBExpress | Delphi 2005 | Delphi 2006 | Delphi 2007 | Delphi XE2 | Delphi7 | Delphi8 | Device Driver | Dialog | Docking | DocuWorks | Docuworks SDK | Drag&Drop | Evernote | EXCEL | Firebird | FireMonkey | Game | General | Generics | Google Earth COM API | Google Maps | Google SketchUp | Graphic | IDE | Imm | Indy | InstallAware Express6 | InterBase Admin | JWW | Microsoft SQL Server | MyBase | OnMouseDown | Oracle XE | Paradox | PreviewHandler | PrintDialog | PrintPreviewDialog | PropertyGrid | PSDファイル | Ribbon Controls | RichTextBox | Servers | SubClass | TAction | TActionList | TAnimate | TButton | TCategoryButtons | TClientDataSet | TComboBox | TComboBoxEx | TCustomEdit | TDBGrid | TDockTabSet | TDrawGrid | TEdit | TExcelApplication | TFont | TForm | third party | TImage | TLabel | TList | TListBox | TListView | TMemo | TOpenDialog | TOutlookApplication | TPageControl | TPanel | TRichEdit | TShellResources | TStringGrid | TTabControl | TToolBar | TToolButton | TTreeView | TWebBrowser | Update | VCL Styles | WinInet | XE2 | XPman | オープン配列パラメータ | グループ化 | トランスレーションマネージャー | ファイル処理 | ファイル名処理 | 動的配列 | 投票 | 文字列処理 | 日本語入力 | 暗号 | | 音声合成利用