C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Просмотр данных
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 ваша_таблица.

Вернуться в Работа с базами данных в C++Builder