Отменяет выполненные изменения данных на удаленном источнике в рамках текущей Транзакции.

SQLROLLBACK(nStatementHandle)

Параметры

nStatementHandle

Определяет номер Дескриптора Соединения с источником Данных, полученным ранее функцией SQLCONNECT( ).

Expand imageВозвращаемое значение

Числового типа. SQLROLLBACK( ) возвращает значение = 1, если успешно отменены последние изменения данных; в другом случае, возвращается значение = -1. Если функция SQLROLLBACK( ) возвращает значение = -1, то вы можете узнать причину аварийного завершения Отмены изменений данных с помощью функции AERROR( ).

Expand imageКомментарии

Если включен режим "управляемой транзакции", (с помощью функции SQLSETPROP( ) установлено: transaction = manual), тогда вы можете выполнять несколько изменений данных в удаленных Таблицах. Отмена выполненных изменений осуществляется данной функцией SQLROLLBACK( ).

Подтверждение выполняемых изменений на удаленном источнике данных осуществляется функцией SQLCOMMIT( ).

Expand imageПример

В следующем примере предполагается, что ранее уже установлено соединение с удаленным источником данных, с помощью функции SQLCONNECT( ), дескриптор соединения сохранен в переменной памяти с именем gnHandle. SQLSETPROP( ) устанавливает режим "управляемой транзакции" Transactions = 2 (manual), при котором вы можете, в зависимости от ситуации, использовать функции SQLCOMMIT( ) - для подтверждения изменений, или SQLROLLBACK( ) - для отмены выполненных изменений данных.

Изменения (добавление новой записи) в таблицу authors выполняются с помощью функции SQLEXEC( ), за тем данные изменения отменяются при помощи функции SQLROLLBACK( ).

  CopyCode imageКопировать Код
= SQLSETPROP(gnHandle, 'Transactions', 2)  && manual
= SQLEXEC(gnHandle, "INSERT INTO authors (au_id, au_lname);
VALUES ('aupoe', 'Poe')")
= SQLROLLBACK(gnHandle)

Expand imageСм. также