1

我正在重写一个现有的 BDE 数据库程序,以使用FibPlus组件使用Firebird 。

由于我几乎在每个地方都使用过 TQuery 组件,因此更改相当简单。

除了一件事我似乎没有找到:

  • 在我的一个表单中,我有两个相互上方的网格,链接到 TTable 组件,其中下面的网格仅显示与上方网格中所选记录具有相同键的记录 - 因此是主/详细关系。

这在 BDE 中使用MasterSourceMasterFields属性很容易完成。

如何使用 FibPlus FibDataset 或 FibQuery 组件来实现这一点?

4

1 回答 1

1

我认为使用 FibQuery 是不可能的,但是使用 FibDataSet 有一个 DataSource 属性,您应该指向一个连接到主 DataSet 的 DataSource。

在 Detail fibDataSet 中,应使用 where 子句,其中参数与主表中明细表的主字段同名。

例如:使用以下 SQL 掌握 pFibDataSet CustomerspFibDataSet:

select cusotmerid, name, address, country from customers

具有属性 DataSet 的主数据源 CustomersDataSource 设置为 CustomerpFibDataSet

详细信息 pFibDataset OrderspFibDataSet 属性 DataSource 设置为 CustomersDataSource 和以下 SQL:

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