Как использовать возможности MasterSource и MasterFields с использованием наборов данных FibPlus или FibQuery - PullRequest
1 голос
/ 18 марта 2012

Я переписываю существующую программу базы данных BDE для использования Firebird с использованием FibPlus компонентов.

Поскольку я почти везде использовал компоненты TQuery, изменения довольно просты.

Кроме одной вещи, которую я, кажется, не могу найти:

* * 1010 В одной из моих форм у меня есть две сетки друг над другом, связанные с компонентами TTable, где нижеприведенная сетка отображает только записи с тем же ключом, что и выбранная запись в верхней сетке - поэтому master / подробные отношения.

Это легко сделать в BDE, используя свойства MasterSource и MasterFields.

Как этого добиться, используя компоненты FibPlus FibDataset или FibQuery?

1 Ответ

0 голосов
/ 19 марта 2012

Я не думаю, что это возможно с FibQuery, но с FibDataSet есть свойство DataSource, которое вы должны указать на DataSource, подключенный к основному DataSet.

В Detail fibDataSet должно использоваться предложение where, где параметр имеет то же имя, что и главное поле для таблицы подробностей в главной таблице.

Например: master pFibDataSet CustomerspFibDataSet со следующим SQL:

select cusotmerid, name, address, country from customers

Основной DataSource CustomersDataSource со свойством DataSet, установленным в CustomerpFibDataSet

detail pFibDataset OrderspFibDataSet со свойством DataSource, установленным в CustomersDataSource и следующим SQL:

select orderid, date, amount from orders
where customerid = :customerid
...