![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Транзакции в локальных базах данных [D7, MSAccess]
Zergling © (2003-04-08 13:13:00)День добрый уважаемые! В одной книжке вычитал, что локальные базы данных Paradox 9 поддерживают транзакции. Можно ли транзакции организовать для локальной базы данных Access через ADO. Пробовал произвести транзкцию через TADOConection, но не работает (не исключаю, что я что то делаю не так). Если Access не поддерживатет транзакции, то можно ли организховать, чтонибудь на подобие трнзакции. Пока у меня мысля такая: создать динамический массив типа Variant. Скопировать из строки тблицы-1 данные в этот массив (перед модификацией строки).
Если при работе с таблицей-2 возникает ошибка, то данные из динамического массива записываются в таблицу-1, тем самым восстанавливая предыдущие значения. Может есть более простой и гибкий способ. Посоветуйте пожалуйста! Заранее благодарен за любубю помощь.
Stas (2003-04-08 13:41:00) [1]А для каскадного обновления и удаления Access проводит транзакцию сам если установишь свзи между таблицами (схему данных)
P.S. Access (ядро Jet) это не локальная база, а клиент-сервер.
sniknik (2003-04-08 13:21:00) [2]> Если Access не поддерживатет транзакции
обижаеш! для Access
Инструкция TRANSACTION
Используется для запуска и завершения явных транзакций.
Синтаксис
Запускает новую транзакцию.
BEGIN TRANSACTION
Заканчивает транзакцию путем завершения всей работы, выполненной в ходе транзакции.
COMMIT [TRANSACTION | WORK]
Заканчивает транзакцию путем свертывания всей работы, выполненной в ходе транзакции.
ROLLBACK [TRANSACTION | WORK]
Дополнительные сведения
Автоматический запуск транзакции невозможен. Чтобы начать транзакцию, ее необходимо явно запустить с помощью инструкции BEGIN TRANSACTION.
Допускается пять уровней вложения транзакций. Чтобы запустить вложенную транзакцию, воспользуйтесь инструкцией BEGIN TRANSACTION в контексте существующей транзакции.
Для присоединенных или связанных таблиц транзакции не поддерживаются.