GIZMO |
Отправлено: 14.01.2005, 11:00 |
|
Машинист паровоза
Группа: Участник
Сообщений: 174
|
Привет!
Есть BCB5+IBX5.03.
Чем лучше пользоваться для просмотра записей из IBX компонентов? И если есть какие-то принципы, чего и в каком случае применять (TIBTable, TIBQuery, TIBStoredProc,TIBDataSet)?
Просветите.
|
|
AVC |
Отправлено: 14.01.2005, 11:42 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Общие соображения
Для SQL'евских СУБД в любом случае Query (не знаю ни одной причины для использования Table).
StoredProcedure это не альтернатива а дополнительный к Query способ.
Конкретно по IB компонентам подскажут более опытные в IB товарищи.
Отредактировано AVC — 14/01/2005, 11:46 |
|
olegenty |
Отправлено: 14.01.2005, 13:42 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
если IBX не ограничение, то везде и всюду нужно использовать FIBPlus. как имнимум, из соображений, изложенных на ibase.ru в новогодних подарках, либо ВСЕГДА помнить и читать в длинной/короткой транзакции c установленным параметром read, а писать в короткой пишущей с установленным параметром write. иначе будет то, что описано в подарочных статьях. в FIBPlus эта возможность "встроена". Это небольшой оффтопик.
а из компонентов доступа IBX для работы я выбрал бы TIBDataSet хотя бы из соображений более удобной обновляемости. НО ВСЕГДА ПОМНИЛ, ЧТО ПРИ ДЛИТЕЛЬНОЙ ОНЛАЙНОВОЙ РАБОТЕ В ДЛИТЕЛЬНОЙ ПИШУЩЕЙ ТРАНЗАКЦИИ (а от этого при использовании IBX никуда не деться) НЕОБХОДИМ РЕГУЛЯРНЫЙ CommitRetaining.
TIBStoredProc вообще нельзя пользоваться — кривой в корягу компонент, лучше использоваться тот-же TIBDataSet/TIBQuery с запросом типа select * from <имя хранимой процедуры>, а для любых действий (и вызовов ХП в том числе), не возвращающих наборов двнных — TIBSQL.
ещё, если по набору данных нужно пробежать только один раз (например, если вы не пользуетесь в некотором алгоритме data-aware компонентами), то ВСЕГДА нужно использовать TIBSQL — потребляет меньше ресурсов.
|
|
GIZMO |
Отправлено: 18.01.2005, 14:41 |
|
Машинист паровоза
Группа: Участник
Сообщений: 174
|
QUOTE (AVC @ 14/01/2005, 12:44) | Общие соображения
Для SQL'евских СУБД в любом случае Query (не знаю ни одной причины для использования Table).
|
А для просмотра TIBTable не подойдет?
|
|
xim |
Отправлено: 18.01.2005, 15:08 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 143
|
QUOTE |
QUOTE (AVC @ 14/01/2005, 12:44)
Общие соображения
Для SQL'евских СУБД в любом случае Query (не знаю ни одной причины для использования Table).
А для просмотра TIBTable не подойдет?
|
Практика показывает, что на клиента обычно выдатся не вся таблица, а какой-то актуальный набор записей. Кроме того, использование Query упрощает дальнейшую разработку по мере изменения изначально поставленной задачи. Query — однозначно |
|
avc* |
Отправлено: 18.01.2005, 15:20 |
|
Не зарегистрирован
|
2GIZMO
Плюс к тому что писал xim
Даже если вам кажется, что вы обращаетесь к таблице на самом деле это не так.
Сервер вам возвращает результат выборки типа Sеlect * From ваша_таблица. |
|