![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Данные из двух баз на IB [D6, IB5.x]
Olegka © (2004-04-01 15:08:00)Приветы всем!
Есть 2 базы на IB. Надо в один DataSource получить поля по двум разным запросам из двух этих баз...
Как это сделать?
Заранее спасибо!
Olegka
Olegka (2004-04-01 16:39:00) [1]kaif, СПАСИБО!!!
Это то, что нужно!!!
kaif (2004-04-01 15:52:00) [2]Есть еще один способ, если набор небольшой (пара сотен записей). Берешь 2 компонента-запроса (например, IBQuery1 и IBQuery2). Первый запрашивает из первой базы, второй - из второй. Разумеется, должно быть какое-то ключевое поле, чтобы потом данные состыковать.
Далее к первому запросу подключаешь сетку через DataSource.
К первому запросу создаешь persistent-поля в дизайн-тайме и добавляешь еще вычислыемые поля (столько, сколько во втором запросе, за исключением ключевого).
В обработчике события OnCalcFields первого запроса вставляешь поиск во втором запросе с помощью метода Locate по ключевому полю. Присваиваешь значения полей для найденной записи вычисляемым полям первого запроса.
Это самый простой способ. Я бы прежде всего попробовал сделать именно так. Преимущество - датасет сам позаботится о том, чтобы не искать дважды одни и те же значения при скроллинге сетки. Первоначально поиски будут производиться только по фетченным записям (те, которые видны в сетке). Недостатки - метод Locate ищет простым перебором. Но это вполне допустимо, если записей немного (до тысячи). А больше, как правило, в сетках и нет смысла высвечивать...
Olegka (2004-04-01 15:31:00) [3]То Курдль
Спасибо, надо подумать... Мне действительно не надо даже редактировать данные, только просмотр... Как вариант годится...
То Domkrat
Что есть MemoDataset?
Domkrat (2004-04-01 15:25:00) [4]Собрать данные в какой-нибудь MemoDataset, и светить его в гриде.
Курдль (2004-04-01 15:24:00) [5]
> мне надо в один DBGrid данные из двух баз
А зачем тогда DBGrid? Все равно отредактировать / удалить / добавить ничего не удастся! Тогда можно просто заполнить Grid данными из 2-х DataSet-ов?
Olegka (2004-04-01 15:22:00) [6]мне надо в один DBGrid данные из двух баз ((((
Так, как предлагает Sergey_Masloff, не получится, имхо...
Olegka (2004-04-01 15:20:00) [7]может, что уточнить?
Sergey_Masloff (2004-04-01 15:18:00) [8]никак.
Вернее можно 2 TDatabase -> 2 разных Dataset а у датасорса динамически переключать ссылку на датасет. Одновременно нельзя