QSqlError Class

The QSqlError class provides SQL database error information. 更多...

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

公共类型

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

公共函数

QSqlError (const QString & driverText = QString(), const QString & databaseText = QString(), QSqlError::ErrorType type = NoError, const QString & code = 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= (const QSqlError & other )
QSqlError & operator= (QSqlError && other )
bool operator== (const QSqlError & other ) const

详细描述

A QSqlError object can provide database-specific error data, including the driverText () 和 databaseText () messages (or both concatenated together as text ()), and the nativeErrorCode () 和 type ().

另请参阅 QSqlDatabase::lastError () 和 QSqlQuery::lastError ().

成员类型文档编制

enum QSqlError:: ErrorType

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

常量 描述
QSqlError::NoError 0 没有出现错误。
QSqlError::ConnectionError 1 Connection error.
QSqlError::StatementError 2 SQL statement syntax error.
QSqlError::TransactionError 3 Transaction failed error.
QSqlError::UnknownError 4 Unknown error.

成员函数文档编制

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

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

QSqlError:: QSqlError (const QSqlError & other )

创建副本为 other .

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

Move-constructs a QSqlError instance, making it point at the same object that other 所指向的。

注意: The moved-from object other is placed in a partially-formed state, in which the only valid operations are destruction and assignment of a new value.

[noexcept] QSqlError:: ~QSqlError ()

销毁对象并释放任何分配资源。

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.

另请参阅 driverText () 和 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.

另请参阅 databaseText () 和 text ().

bool QSqlError:: isValid () const

返回 true if an error is set, otherwise false.

范例:

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

另请参阅 type ().

QString QSqlError:: nativeErrorCode () const

Returns the database-specific error code, or an empty string if it cannot be determined.

注意: Some drivers (like DB2 or ODBC) may return more than one error code. When this happens, ; is used as separator between the error codes.

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

Swaps error other with this error. This operation is very fast and never fails.

QString QSqlError:: text () const

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

另请参阅 driverText () 和 databaseText ().

QSqlError::ErrorType QSqlError:: type () const

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

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

Compare the other error's type () 和 nativeErrorCode () to this error and returns true if it is not equal.

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

赋值 other error's values to this error.

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

移动赋值 other 到此 QSqlError 实例。

注意: The moved-from object other is placed in a partially-formed state, in which the only valid operations are destruction and assignment of a new value.

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

Compare the other error's type () 和 nativeErrorCode () to this error and returns true , if it equal.