Вниз
Скачать: 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.013 c
7-6803
Alpine
2003-02-04 18:32
2003.04.03
Как можно отключить CTRL+ALT+DEL в W2k ?


1-6608
Navi
2003-03-22 20:12
2003.04.03
(Sender as TCustomGrid).DeleteRow не работает


14-6765
xtreme
2003-03-14 10:16
2003.04.03
Запись на CD/DVD (R, RW, +RW, -RW) где стандарты почитать?


3-6386
Новичок
2003-03-15 11:28
2003.04.03
Запись


8-6617
vladnt
2002-12-24 15:16
2003.04.03
Сплайн-интерполяция




   Наверх