Страница 1 из 1

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

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

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