Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.04.2014, 09:28   #1
Аня Popova
 
Регистрация: 27.03.2010
Сообщений: 7
По умолчанию Вопрос по транзакции

Здравствуйте.
У меня в программе предполагается 2 варианта при сохранении данных: пропускать строки, которые вызывают ошибки, или производить глобальную операцию (то есть при возникновении ошибки откатывать всю транзакцию полностью).
Я думала сделать так при пропуске строк с ошибками:

PHP код:
begin transaction tr1;
for (
int i=0i<datagridview.Rows.Counti++)
{
    
begin transaction tr2;
    
update [Клиенты
    
set [ФИО] = 'A' where [ФИО] = 'B';
    if @@
ERROR 0
    commit transaction tr2
;                
    else
    
rollback transaction tr2;
}

commit tr1
И при глобальном сохранении:

PHP код:
begin transaction tr1;
for (
int i=0i<datagridview.Rows.Counti++)
{
    
begin transaction tr2;
    
update [Клиенты
    
set [ФИО] = 'A' where [ФИО] = 'B';
    if @@
ERROR 0
    commit transaction tr2
;                
    else
    
rollback transaction tr1;

По логике правильно? Или как правильно сделать?
Аня Popova вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
транзакции sem_1989 SQL, базы данных 1 23.09.2011 22:43
транзакции пауэрлифтинг БД в Delphi 0 27.05.2010 02:24
Транзакции и try nikmay Общие вопросы Delphi 1 30.07.2009 21:13
Вопрос про транзакции и не только. danswin БД в Delphi 9 17.01.2009 18:35
Транзакции + ADO azat БД в Delphi 3 14.01.2008 11:47