1

FibPlusコンポーネントを使用してFirebirdを使用するように、既存の BDE データベース プログラムを書き直しています。

ほとんどすべての場所で TQuery コンポーネントを使用していたので、変更はかなり簡単です。

私が見つけられないように見える1つのことを除けば:

  • 私のフォームの 1 つで、上下に2 つのグリッドがあり、TTable コンポーネントにリンクされています。下のグリッドには、上部のグリッドで選択されたレコードと同じキーを持つレコードのみが表示されます。つまり、マスター/詳細の関係です。

MasterSourceこれは、プロパティとプロパティを使用して BDE で簡単に実行できましたMasterFields

FibPlus FibDataset または FibQuery コンポーネントを使用してこれをどのように達成できますか?

4

1 に答える 1

1

FibQueryでは不可能だと思いますが、FibDataSetには、マスターDataSetに接続されたDataSourceを指す必要があるDataSourceプロパティがあります。

詳細fibDataSetでは、パラメータがマスターテーブルの詳細テーブルのマスターフィールドと同じ名前である場合に、where句を使用する必要があります。

例:次のSQLを使用してpFibDataSetCustomerspFibDataSetをマスターします。

select cusotmerid, name, address, country from customers

プロパティDataSetがCustomerpFibDataSetに設定されたマスターデータソースCustomersDataSource

詳細pFibDatasetOrderspFibDataSetで、プロパティDataSourceがCustomersDataSourceに設定され、次のSQLが使用されています。

select orderid, date, amount from orders
where customerid = :customerid
于 2012-03-18T22:21:47.363 に答える