Форум программистов, компьютерный форум CyberForum.ru

Транзакции - C++

Восстановить пароль Регистрация
 
Riderik
 Аватар для Riderik
28 / 28 / 1
Регистрация: 24.07.2011
Сообщений: 171
29.11.2011, 01:52     Транзакции #1
Нигде толком не нашел информации, решил у вас спросить. Вот допустим есть какой-то класс с набором всяческих данных и методов. Этот класс в программе, в которую следует запихнуть транзакцию. Честно говоря, очень слабо знаком с этой темой. Кто знает как применить сие чудо (транзакции) в обыкновенном консольном приложении с классами, поделитесь идеями.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2011, 01:52     Транзакции
Посмотрите здесь:

C++ Builder БД Транзакции
транзакции C#
MySQL транзакции
транзакции SQL Server
Транзакции MySQL
C# Транзакции
Транзакции Go
SQL Server Транзакции

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
29.11.2011, 06:28     Транзакции #2
В начале действия вызвать функцию begin(начать) в ней сделать копию исходных данных до модификации данных, далее при модификации данных проверять на ошибки если случиться ошибка выбросить метод throw для внешенего блока - try catch, при ошибке в блоке catch вызвать метод rollback(откатить) который восстановит не модифицируемые данные которые были сохранены в файловом-кэше или в памяти, если ошибки не произошло вызвать метод commit(фиксировать) сохранить данные в классе или где у тебя там, вот примитивный пример.
C++
1
2
3
4
5
6
7
8
9
object obj;
int array[] = { ... };
try {
    obj.begin();
    obj.set(array, size array);
    obj.commit();
} catch(...) {
    obj.rollback();
}
Yandex
Объявления
29.11.2011, 06:28     Транзакции
Ответ Создать тему
Опции темы

Текущее время: 23:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru