Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.01.15;
Скачать: CL | DM;

Вниз

Реализация 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
14-1135103436
KOSS
2005-12-20 21:30
2006.01.15
Куда делась вкладка Diagram в Delphi for Microsoft Win32 2006?


14-1135106534
syte_ser78
2005-12-20 22:22
2006.01.15
верить или нет?


3-1129099929
S@shka
2005-10-12 10:52
2006.01.15
Репликация FB + Delphi.... Варианты исполнения


4-1131178490
Святослав
2005-11-05 11:14
2006.01.15
Неизвестное програмное исключение OS !!!


14-1134920396
begin...end
2005-12-18 18:39
2006.01.15
С Днём рождения! 18 декабря