AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.09.2003, 11:06   #1  
Andronov is offline
Andronov
Участник
 
108 / 10 (1) +
Регистрация: 10.11.2002
Адрес: г. Пермь
Вопрос про транзакции и исключения
Добрый день!
В документации написано:
1. Блоки транзакций могут быть вложенными
2. Исключение автоматически прерывает текущую транзакцию
Исходя из этого я написал такой код:
PHP код:
        CanPerform false;
        
ttsbegin;
        try {
            
ttsbegin;
                
select forupdate mt where mt.Name == 'ООО "Электролюкс"';
                
mt.Name 'First updated record';
                
mt.update();
                if (!
CanPerform)
                    throw 
Exception::Error;
            
ttscommit;
        }
        catch (
Exception::Error){
            
CanPerform true;
        }

        
select forupdate mt where mt.Name == 'ООО "Мирный атом"';
        
mt.Name 'Second updated record';
        
mt.update();
    
ttscommit
Писал исключительно для примера, поэтому логику прошу не обсуждать. Имел ввиду, что транзакция в try/catch откатится и управление перейдет в catch-блок, потом оставшиеся операторы нормально выполнятся и внешняя транзакция успешно завершится. Практика показала, что в базе не происходит НИКАКИХ изменений.
Может мне кто-нибудь объяснить ход выполнения программы? Почему изменения не проходят в базу? В модели MTS/Component services используется подход, очень похожий на аксаптовский, но там подобный код будет отрабатывать именно так, как я того ожидаю.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Вопрос по перегрузке лукапа поля прям на таблице HorrR DAX: Программирование 3 03.06.2008 18:02
Вопрос по Проектам PSA DAX: Функционал 35 19.01.2007 22:26
расчеты с персоналом. НДФЛ. вопрос чайника shumelka DAX: Функционал 2 25.03.2004 11:36
Вопрос к пользователю при сохранении данных в таблице Anais DAX: Программирование 1 23.03.2004 19:46
Вопрос к пользователю при сохранении данных в таблице Anais DAX: Программирование 1 19.03.2004 10:28

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 13:13.