En esta página

QSqlError Class

La clase QSqlError proporciona información sobre errores en bases de datos SQL. Más...

Cabecera: #include <QSqlError>
CMake: find_package(Qt6 REQUIRED COMPONENTS Sql)
target_link_libraries(mytarget PRIVATE Qt6::Sql)
qmake: QT += sql

Tipos Públicos

enum ErrorType { NoError, ConnectionError, StatementError, TransactionError, UnknownError }

Funciones Públicas

QSqlError(const QString &driverText = QString(), const QString &databaseText = QString(), QSqlError::ErrorType type = NoError, const QString &nativeErrorCode = QString())
QSqlError(const QSqlError &other)
QSqlError(QSqlError &&other)
~QSqlError()
QString databaseText() const
QString driverText() const
bool isValid() const
QString nativeErrorCode() const
void swap(QSqlError &other)
QString text() const
QSqlError::ErrorType type() const
bool operator!=(const QSqlError &other) const
QSqlError &operator=(QSqlError &&other)
QSqlError &operator=(const QSqlError &other)
bool operator==(const QSqlError &other) const

Descripción Detallada

Un objeto QSqlError puede proporcionar datos de error específicos de la base de datos, incluyendo los mensajes driverText() y databaseText() (o ambos concatenados como text()), y los mensajes nativeErrorCode() y type().

Véase también QSqlDatabase::lastError() y QSqlQuery::lastError().

Documentación de tipos de miembros

enum QSqlError::ErrorType

Este tipo enum describe el contexto en el que se ha producido el error, por ejemplo, un error de conexión, un error de sentencia, etc.

ConstanteValorDescripción
QSqlError::NoError0No se ha producido ningún error.
QSqlError::ConnectionError1Error de conexión.
QSqlError::StatementError2Error de sintaxis de sentencia SQL.
QSqlError::TransactionError3Error de transacción fallida.
QSqlError::UnknownError4Error desconocido.

Documentación de las funciones miembro

QSqlError::QSqlError(const QString &driverText = QString(), const QString &databaseText = QString(), QSqlError::ErrorType type = NoError, const QString &nativeErrorCode = QString())

Construye un error que contiene el texto de error del controlador driverText, el texto de error específico de la base de datos databaseText, el tipo type y el código de error nativo nativeErrorCode.

QSqlError::QSqlError(const QSqlError &other)

Crea una copia de other.

[constexpr noexcept] QSqlError::QSqlError(QSqlError &&other)

Move-construye una instancia de QSqlError, haciendo que apunte al mismo objeto al que apuntaba other.

Nota: El objeto movido-desde other se coloca en un estado parcialmente formado, en el que las únicas operaciones válidas son la destrucción y la asignación de un nuevo valor.

[noexcept] QSqlError::~QSqlError()

Destruye el objeto y libera los recursos asignados.

QString QSqlError::databaseText() const

Devuelve el texto del error notificado por la base de datos. Puede contener descripciones específicas de la base de datos o estar vacío.

Véase también driverText() y text().

QString QSqlError::driverText() const

Devuelve el texto del error notificado por el controlador. Puede contener descripciones específicas de la base de datos. También puede estar vacío.

Véase también databaseText() y text().

bool QSqlError::isValid() const

Devuelve true si se produce un error, en caso contrario false.

Ejemplo:

QSqlQueryModel model; model.setQuery("select * from miTabla");if (model.lastError().isValid())    qDebug() << model.lastError();

Véase también type().

QString QSqlError::nativeErrorCode() const

Devuelve el código de error (nativo) específico de la base de datos, o una cadena vacía si no se puede determinar.

Nota: Algunos controladores (como DB2 u ODBC) pueden devolver más de un código de error. Cuando esto ocurre, se utiliza ; como separador entre los códigos de error.

[noexcept] void QSqlError::swap(QSqlError &other)

Cambia este error por other. Esta operación es muy rápida y nunca falla.

QString QSqlError::text() const

Esta es una función de conveniencia que devuelve databaseText() y driverText() concatenados en una sola cadena.

Véase también driverText() y databaseText().

QSqlError::ErrorType QSqlError::type() const

Devuelve el tipo de error, o -1 si no se puede determinar el tipo.

bool QSqlError::operator!=(const QSqlError &other) const

Compara type() y nativeErrorCode() del error other con este error y devuelve true si no es igual.

[noexcept] QSqlError &QSqlError::operator=(QSqlError &&other)

Mover-asigna other a esta instancia QSqlError.

Nota: El objeto movido-desde other se coloca en un estado parcialmente formado, en el que las únicas operaciones válidas son la destrucción y la asignación de un nuevo valor.

QSqlError &QSqlError::operator=(const QSqlError &other)

Asigna los valores del error other a este error.

bool QSqlError::operator==(const QSqlError &other) const

Compara type() y nativeErrorCode() del error other con este error y devuelve true, si es igual.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.