Начать транзакцию

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