QSqlError Class

The QSqlError class provides SQL database error information. More...

Header: #include <QSqlError>

Public Types

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

Public Functions

QSqlError(const QString & driverText = QString(), const QString & databaseText = QString(), ErrorType type = NoError, int number = -1)
QSqlError(const QSqlError & other)
QString databaseText() const
QString driverText() const
bool isValid() const
int number() const
void setDatabaseText(const QString & databaseText)
void setDriverText(const QString & driverText)
void setNumber(int number)
void setType(ErrorType type)
QString text() const
ErrorType type() const
QSqlError & operator=(const QSqlError & other)

Detailed Description

The QSqlError class provides SQL database error information.

A QSqlError object can provide database-specific error data, including the driverText() and databaseText() messages (or both concatenated together as text()), and the error number() and type(). The functions all have setters so that you can create and return QSqlError objects from your own classes, for example from your own SQL drivers.

See also QSqlDatabase::lastError() and QSqlQuery::lastError().

Member Type Documentation

enum QSqlError::ErrorType

This enum type describes the context in which the error occurred, e.g., a connection error, a statement error, etc.

QSqlError::NoError0No error occurred.
QSqlError::ConnectionError1Connection error.
QSqlError::StatementError2SQL statement syntax error.
QSqlError::TransactionError3Transaction failed error.
QSqlError::UnknownError4Unknown error.

Member Function Documentation

QSqlError::QSqlError(const QString & driverText = QString(), const QString & databaseText = QString(), ErrorType type = NoError, int number = -1)

Constructs an error containing the driver error text driverText, the database-specific error text databaseText, the type type and the optional error number number.

QSqlError::QSqlError(const QSqlError & other)

Creates a copy of other.


Destroys the object and frees any allocated resources.

QString QSqlError::databaseText() const

Returns the text of the error as reported by the database. This may contain database-specific descriptions; it may be empty.

See also setDatabaseText(), driverText(), and text().

QString QSqlError::driverText() const

Returns the text of the error as reported by the driver. This may contain database-specific descriptions. It may also be empty.

See also setDriverText(), databaseText(), and text().

bool QSqlError::isValid() const

Returns true if an error is set, otherwise false.


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

See also type().

int QSqlError::number() const

Returns the database-specific error number, or -1 if it cannot be determined.

See also setNumber().

void QSqlError::setDatabaseText(const QString & databaseText)

Sets the database error text to the value of databaseText.

See also databaseText(), setDriverText(), and text().

void QSqlError::setDriverText(const QString & driverText)

Sets the driver error text to the value of driverText.

See also driverText(), setDatabaseText(), and text().

void QSqlError::setNumber(int number)

Sets the database-specific error number to number.

See also number().

void QSqlError::setType(ErrorType type)

Sets the error type to the value of type.

See also type().

QString QSqlError::text() const

This is a convenience function that returns databaseText() and driverText() concatenated into a single string.

See also driverText() and databaseText().

ErrorType QSqlError::type() const

Returns the error type, or -1 if the type cannot be determined.

See also setType().

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

Assigns the other error's values to this error.

© 2016 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.