Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Один запрос, несколько DBAware-контролов


Автор: DDX 30.5.2007, 17:23
Добрый день!

Помогите плиз определиться: можно ли к одному запросу подвязать несколько датасорсов, да так, чтобы изменения в одном не влияли на другие? например, переход по записям или фильтрация, модификация данных исключена.

Пример: есть запрос ADOQuery1. Есть 2 формы. На одной   - DBGrid, DataSource1 ->Dataset1 ->ADOQuery1
на другой форме, скажем DBLookupCombobox,  ListSource -> DataSource2 -> Dataset2 ->ADOQuery1

Я знаю, что туплю, но мне надо сделать так, чтобы когда я выбираю записи в DBLookupCombobox, то в гриде они чтобы у меня не перескакивали на выбираемую. И когда я фильтрую грид, то на списке это не отображалось.

Или, более глобальная задача - я хочу один и тот же запрос использовать на разных формах в виде грида или выпадающего списка или ещё как-то, но независимо друг от друга. Запросы плодить не хочу, он выбирает большой объем данных.

Как умные люди решают такую задачу? Можно ли результат запроса загнать в какой-то буфер и оттуда его многократно использовать?


Буду признателен за любые советы.


Автор: DDX 1.6.2007, 10:51
вопщем, может кому-то и пригодится. 
оптимальный вариант я нашел такой  - открываю adodataset1, потом другие датасеты создаю посредством
adodataset2.clone(adodataset1). А уж к каждому новому датасету привязываю нужный контрол. 
В результате, насколько я понимаю, соединение одни, данные физически одни, но перемещаться и фильтровать их можно независимо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)