Logo Search packages:      
Sourcecode: facturalux version File versions  Download package

bool FLSqlCursor::rollback (  ) 

Deshace las operaciones de una transacción y la acaba.

Returns:
TRUE si la operación tuvo exito

Definition at line 833 of file FLSqlCursor.cpp.

References BROWSE, buffer_, EDIT, INSERT, isModifiedBuffer(), modeAccess_, and transaction_.

Referenced by FLFormRecordDB::closeEvent().

{
  if (!QSqlDatabase::database ())
      {
        qWarning (tr ("FLSqlCursor::rollback() : No hay conexión con la base de datos"));
        return false;
      }

  if ((modeAccess_ == INSERT || modeAccess_ == EDIT) && isModifiedBuffer())
      {
        int res = QMessageBox::information (qApp->mainWidget (),
                                                              tr ("Cancelar cambios"),
                                                              tr ("Todos los cambios efectuados en el formulario actual se cancelarán. ¿ Está seguro ?"),
                                                              QMessageBox::Yes,
                                                              QMessageBox::No | QMessageBox::Default | QMessageBox::Escape);

        if (res == QMessageBox::No)
            return false;
      }

  if (transaction_ > 0)
      transaction_--;
  else
      return true;

  if (transaction_ == 0)
      {
        ((FLApplication *) qApp)->statusHelpMsg (tr ("Deshaciendo transacción..."));
        if (QSqlDatabase::database ()->rollback ())
            {
              modeAccess_ = BROWSE;
              buffer_ = 0;
              return true;
            }
        else
            {
              qWarning (tr ("FLSqlCursor : Fallo al intentar deshacer transacción"));
              return false;
            }
      }
  else
      return true;
}


Generated by  Doxygen 1.6.0   Back to index