Вопросы по транзакциям из FIBPLus и по датасетам из этого же

IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.

Модератор: kdv

Ответить
tomek
Сообщения: 1
Зарегистрирован: 19 фев 2005, 14:44

Вопросы по транзакциям из FIBPLus и по датасетам из этого же

Сообщение tomek » 19 фев 2005, 14:47

У меня есть два вопроса.
1. БД - firebird 1.5, клиент на Delphi, используются компоненты FIBPlus. Ребят, расскажите, как лучше всего пользоваться "длинной" транзакцией на чтение : a) во всех компонентах FIBDataset устанавливать режимы poStartTransation и AutoCommit;
б) устанавливать только poStartTransaction, а коммит руками делать;
в) или лучше всего вначале работы приложения старт ей сделать, а при закрытии БД - коммит;
Но тогда если я пользуюсь еще и "короткими" транзакциями на модификацию, то к какой транзакии будет AutoCommit ? к той, что длинная или той, что короткая ? или и к той и другой ? Тогда получается, что если я длинную транзакцию открываю вначале работы программы, а закрываю в конце, то poStartTransaction каждого датасета, который будет открыт в моей программе будет инициировать эту длинную транзакцию заново ? Как то странно тогда реализован этот режим AutoCommit. Можно узнать, кто как пишет вообще такие вещи ? И как лучше ? У меня в принципе база будет на лок. компе висеть и практически только один пользователь будет, хотя быть может в будущем и еще один комп добавится !
2. Какой смысл режима FetchAll для тех же датасетов из FIBPlus ? Это что, если я поставил эту опцию в false, то не будет возвращатся в гриде всех строк ? а какой тогда смысл ? если у меня в гриде статистика внизу - сумма считается, то что она неправильно посчитается, если я не все записи буду возвращать или что ?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 21 фев 2005, 10:23

эх, вопросы у тебя такие, что не хочется напрягаться писать это все по 100-ому разу. проще по телефону объяснить.
здесь только скажу, что в 99% случаев автокоммит - враг программиста.

Ответить