Вниз
Скачать: CL | DM;

Связанные таблицы, запросы по запросам...   Найти похожие ветки 

 
Lancelot ©   (2003-03-16 23:48) [0]

Здравствуйте, коллеги. Извините за глупый вопрос, но можеть быть, кто-нибудь поможет?..

Предположим, у нас есть 2 таблицы со связью мастер-деталь (и, соответственно, есть ADOConnection, 2 штуки ADOQuery (MasterQuery и DetailQuery) и 2 DataSource (MasterDS и DetailDS)).

«…Запрос для MasterQuery:

select VendorNo, VendorName, Country, City, State, Preferred
from vendors

Запрос в DetailQuery должен выбирать только те записи, VendorNo в которых является текущим в MasterDS.Dataset. Для этого установим свойство DataSource компонента DetailQuery в значение MasterDS.
Запрос для DetailQuery следующий:

select PartNo, OnOrder, OnHand, ListPrice, Description, Cost
from parts
where VendorNo = :VendorNo

:VendorNo в части where – параметр запроса. Параметры при установленном DataSource берутся из него.»

Вышеприведенный текст взят из статьи Д. Сидорова «Компоненты ADO», которую часто можно встретить во всяких интернетовских факах, библиотеках т.п. И надо сказать, черт подери, что это все работает! Работает, пока у нас не заведется третья таблица - субдеталь, для которой мастером будет DetailQuery.
Увы, тогда аналогичный запрос по результатам этой (DetailQuery) выборки не будет возвращать ни-чер-та.
Можно ли это обойти? или так и должно быть?
Заранее багодарю.


 
alex55 ©   (2003-03-17 00:05) [1]

Я на этой третьей таблице раньше видел много глюков. Обычно удавалось их победить, обработав "вручную" события связанные с перемещениями в мастер-таблице.


 
Lancelot ©   (2003-03-17 00:12) [2]

Гм, я так и делаю. Но душа хочет прекрасного, ведь СУБД у нас же такая умная, ну пусть сама записи и фильтрует...


 
alex55 ©   (2003-03-17 00:28) [3]

СУБД-то может и умная, да вот с выпуском новых версий Delphi спешат некоторые - не успевают старые ошибки исправить, а уже новые накатились.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.015 c
14-6725
cok
2003-03-15 16:50
2003.04.03
Пароли


3-6397
brestmarket
2003-03-15 12:29
2003.04.03
Какие установки и действия должны быть для следующей задачи...


1-6562
RW
2003-03-21 02:26
2003.04.03
Как удалить исполняемый файл в win9x?


3-6399
td
2003-03-13 18:20
2003.04.03
сжать таблицу


14-6660
alex134
2003-03-15 15:38
2003.04.03
Адрес




   Наверх