Начать транзакцию
Синтаксические правила
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()
.