Меня попросили попытаться откатить некоторые изменения базы данных, если произошла ошибка.
Прежде чем я даже начну пытаться использовать TRANSACTION с COMMIT или ROLLBACK, кто-нибудь может мне сказать, могу ли я сделать следующее в MS Access?
void Start() {
try {
AccessDatabaseOpen(); // Opens the access database
foreach (File in FileList) {
AccessTransactionStart(); // Starts the Transaction
AccessWriteSectionDataFromFile();
AccessWriteEmployeeDataFromFile();
AccessWriteSomethingElseFromFile();
} // go to next File in FileList
AccessTransactionCommit();
} catch {
AccessTransactionRollback();
} finally {
AccessDatabaseClose();
}
}
Синтаксис дурацкий, но вы должны понять: может ли подпрограмма в коде запустить транзакцию, вызвать несколько других подпрограмм и либо зафиксировать, либо откатить все целиком, или эта идея заставляет задуматься?
Спасибо,
Джо