Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как правильно выполнить соединение Master-Detail в ODAC [D5]


Бульбаш ©   (2003-04-16 12:12:00) 

Возникла необходимость соединить два грида в одном окне такой связью. На локале было без проблем. MasterDataSource and MasterFields. А в данном случае в SmartQuery наблюдаю только первое свойство. Можно ли установить связь таким образом или надо в подчиненном запросе ставить параметр и переоткрывать его при смене записи в основном запросе?


Yuvich   (2003-04-18 20:20:00) [1]

Лучше пользоваться SmartQuery или OraQuery.

Я делаю так:

Создаешь два ДатаСета: ДатаСет1 и ДатаСет2
Создаешь два ДатаСоурса: ДатаСоурс1 и ДатаСоурс2

Цепляешь их между собой: ДатаСет1 - ДатаСоурс1 и ДатаСет2 - ДатаСоурс2

ДатаСоурсы цепляешь к ДБГридам.

Дальше делаешь связь Мастер - Дитэйл (пусть ДатаСет1 - Мастер):

ДатаСет2.МастерСоурс := ДатаСоурс1;

В запросе ДатаСета1 вытаскиваешь поля, например Филд1, Филд2, Филд3, а в запросе ДатаСета2 используешь параметры :Филд1 и :Филд2.

Теперь при открытии ДатаСет1 происходит АВТОМАТИЧЕСКАЯ передача значений от ДатаСет1.Филд1 к параметру ДатаСет2.Филд1 и т.д. - достаточно открыть еще ДатаСет2 и все. Любая навигация по ДатаСет1 приведет к обновлению данных в ДатаСет2.


Бульбаш   (2003-04-16 14:44:00) [2]

Попробовал соединение через OraTable. Там вроде бы сначала все красиво. Но при попытке установки Master Field ->Detail Field выскакивает "SQL command not properly ended". А ведь в Table текст запроса не редактируется. Чтобы это значило???


Наверх

Титульная страница Поиск, карта сайта Написать письмо