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