Начать транзакцию
Синтаксические правила
bool QSqlDatabase::transaction();
Описание
Объявляет о начале транзакции. Текущая транзакция (если есть) завершается с фиксацией изменений в БД (функция commit()).
Возвращаемое значение
Логическое значение:
-
true– успешный старт транзакции; -
false– транзакция не стартовала.
Пример
QSqlDatabase db = QSqlDatabase::addDatabase( "QLINTER" );
db.setUserName( "SYSTEM" );
db.setPassword( "MANAGER8" );
db.open();db.transaction();
QSqlQuery query;
query.exec("DELETE FROM AUTO WHERE make = 'FIAT'");
query.exec("SELECT model FROM AUTO WHERE make = 'FIAT'");
if (query.next())
// что-то не так – откатываем транзакцию
db.rollback();
else
db.commit();
См. также: hasFeature(), commit(),
rollback().