Форум: "Базы";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];
ВнизРеализация Master Detail для TOracleDataSet Найти похожие ветки
← →
AversFm (2005-11-20 12:12) [0]Ув. мастера, я использую DOA. Позскажите как правильно указать свойства MasterFields и DetailFields для связки двух TOracleDataSet.
Для примера:
допустим есть две таблицы (просмотра)TabMaster - таблица документов
Num - № док.
Usr - код пользователя
Title - шапка док.
TabDetail - таблица действий по документуNum - № док.
Usr - код пользователя
Action - действие
Запрос для первого TOracleDataSet (OracleDataSet1):SELECT Num, Usr, Title
FROM TabMaster
Запрос для второго TOracleDataSet (OracleDataSet2):SELECT Action
FROM TabDetail
WHERE Num = :Num
AND Usr = :Usr
Как теперь указать, что для OracleDataSet2 параметры :Num и :Usr нужно брать из OracleDataSet1?
← →
Sergey13 © (2005-11-21 09:17) [1]Так вроде как и везде. Указать мастера и список полей через точку с запятой. Помнится еще при указывании этого ДОА сама вставляла нужные параметры в детальный датасет.
Можно еще руками на афтерскрол мастера повесить обновление детейла.
← →
ANB © (2005-11-21 12:47) [2]
> AversFm (20.11.05 12:12)
Некузяво так связки делать - писать больше и на грабли наступишь (у оракла я не нашел каскадного обновления внешних ключей).
← →
AversFm (2005-11-21 16:21) [3]
> Указать мастера и список полей через точку с запятой.
Вот оно... А я через запятую тулил. Спасибо за совет.
> Помнится еще при указывании этого ДОА сама вставляла нужные
> параметры в детальный датасет.
А это возможно только в том случае, если таблицы связаны внешним индексом. В моем случае используются сборные запросы - поэтому не подходит.
Итак, подытожим (может еще кому пригодится):
Для данного условия в свойствах OracleDataSet2 (деталь)
заполнить следующие свойства:Master:= OracleDataSet1;
MasterFields:="Num; Usr";
DetailFields:="Num; Usr";
Еще раз спасибо всем, кто откликнулся.
← →
Val © (2005-11-21 17:55) [4]>[2] ANB © (21.11.05 12:47)
> ..на грабли наступишь (у оракла я не нашел каскадного обновления
> внешних ключей)...
в смысле?
← →
ANB © (2005-11-21 18:17) [5]
> Val © (21.11.05 17:55) [4]
Судя по всему используются естественные ключи (иначе нет смысла делать их составными). Значит рано или поздно вылезет проблема их обновления. А каскадного обновления при задании ограничения в оракле нету (нашел только удаление). Если покажешь - как это сделать - буду очень благодарен.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.01.15;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.015 c