Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.02;
Скачать: CL | DM;

Вниз

Данные из двух баз на IB   Найти похожие ветки 

 
Olegka ©   (2004-04-01 15:08) [0]

Приветы всем!
Есть 2 базы на IB. Надо в один DataSource получить поля по двум разным запросам из двух этих баз...
Как это сделать?
Заранее спасибо!
Olegka


 
Sergey_Masloff   (2004-04-01 15:18) [1]

никак.

Вернее можно 2 TDatabase -> 2 разных Dataset а у датасорса динамически переключать ссылку на датасет. Одновременно нельзя


 
Olegka ©   (2004-04-01 15:20) [2]

может, что уточнить?


 
Olegka ©   (2004-04-01 15:22) [3]

мне надо в один DBGrid данные из двух баз ((((
Так, как предлагает Sergey_Masloff, не получится, имхо...


 
Курдль ©   (2004-04-01 15:24) [4]


> мне надо в один DBGrid данные из двух баз

А зачем тогда DBGrid? Все равно отредактировать / удалить / добавить ничего не удастся! Тогда можно просто заполнить Grid данными из 2-х DataSet-ов?


 
Domkrat ©   (2004-04-01 15:25) [5]

Собрать данные в какой-нибудь MemoDataset, и светить его в гриде.


 
Olegka ©   (2004-04-01 15:31) [6]

То Курдль
Спасибо, надо подумать... Мне действительно не надо даже редактировать данные, только просмотр... Как вариант годится...

То Domkrat
Что есть MemoDataset?


 
kaif ©   (2004-04-01 15:52) [7]

Есть еще один способ, если набор небольшой (пара сотен записей). Берешь 2 компонента-запроса (например, IBQuery1 и IBQuery2). Первый запрашивает из первой базы, второй - из второй. Разумеется, должно быть какое-то ключевое поле, чтобы потом данные состыковать.
Далее к первому запросу подключаешь сетку через DataSource.
К первому запросу создаешь persistent-поля в дизайн-тайме и добавляешь еще вычислыемые поля (столько, сколько во втором запросе, за исключением ключевого).
В обработчике события OnCalcFields первого запроса вставляешь поиск во втором запросе с помощью метода Locate по ключевому полю. Присваиваешь значения полей для найденной записи вычисляемым полям первого запроса.
Это самый простой способ. Я бы прежде всего попробовал сделать именно так. Преимущество - датасет сам позаботится о том, чтобы не искать дважды одни и те же значения при скроллинге сетки. Первоначально поиски будут производиться только по фетченным записям (те, которые видны в сетке). Недостатки - метод Locate ищет простым перебором. Но это вполне допустимо, если записей немного (до тысячи). А больше, как правило, в сетках и нет смысла высвечивать...


 
Olegka ©   (2004-04-01 16:39) [8]

kaif, СПАСИБО!!!
Это то, что нужно!!!



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

Текущий архив: 2004.05.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.044 c
6-1078530063
teapot
2004-03-06 02:41
2004.05.02
как перенаправлять сетевой трафик на Делфи?


1-1081929819
Курдль
2004-04-14 12:03
2004.05.02
Как корректно освободить память, занятую записями из TList?


4-1074747407
GrayFace
2004-01-22 07:56
2004.05.02
Есть ProcessId Как получить hProcess, его ветки, юзера, %CPU?


8-1076075911
Asd
2004-02-06 16:58
2004.05.02
Размеры картинки (длина высота)


7-1079018077
cULt
2004-03-11 18:14
2004.05.02
Как заменить байт???