vfedorov |
Отправлено: 07.10.2005, 08:50 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 7
|
Работаю с FireBird и для связи с базой данных использую ibDatabase, ibTransaction, ibQuery, ibTable.
Для просмотра записей использую dataSource и DBGrid, связанных с ibTable
Если добовлять записи через ibQuery — данные становятся видны в DBGrid после вызова методы Commit компонента ibTransaction, при этом свойство Active компонента ibTable становится равно false, т.е. приходится переоткрывать ibTable заново. Это прибодит к торможению системы при больших объёмах данных.
Вопрос — как это всё сделать автоматически?
Заранее спасибо
|
|
Zoth |
Отправлено: 07.10.2005, 10:58 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 14
|
)) Вам статьи на Ibase.ru следовало бы почитать... Эта задача не так проста как кажется... Если в рамках одного приложения то придется делать рефрешь, а если вы хотите чтобы в сети на других компутерах автоматом обновлялось — тогда вам на ibase.ru
А вообще, я например никогда вообще не использую компоненты Table/ Все делаю через квери, т.к. если таблица будет очень большой то и рефрешится она долго, а в запросе надо старатся как можно сильнее минимизировать колво данных передаваемых на клиент. |
|
olegenty |
Отправлено: 09.10.2005, 11:48 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
однозначно — только Query. и IBX — не лучший для этого выбор. Надо пользоваться
FIBPlus
UIB
DBX
возможна также связака FIBPlus + TpFIBDataDriverEh, либо DBX + TDBXDataDriverEh. либо, написать свой TUIBDataDriverEh на основе UIB. Если не требуется работа с событиями/сервисами, то достаточно DBX-драйвера на основе UIB (входит в поставку UIB). при этом сами компоненты UIB устанавливать не нужно. при компиляции DBX-драйвера, либо UIB-компонентов, стоит обратить внимание на *.inc файл, отвечающий за выбор СУБД, с которой предполагается работа.
|
|
|