QSqlError 类

QSqlError 类提供 SQL 数据库错误信息。更多...

头文件 #include <QSqlError>
CMakefind_package(Qt6 REQUIRED COMPONENTS Sql)
target_link_libraries(mytarget PRIVATE Qt6::Sql)
qmakeQT += sql

公共类型

枚举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()
QStringdatabaseText() const
QStringdriverText() const
boolisValid() const
QStringnativeErrorCode() const
voidswap(QSqlError &other)
QStringtext() const
QSqlError::ErrorTypetype() const
booloperator!=(const QSqlError &other) const
QSqlError &operator=(const QSqlError &other)
QSqlError &operator=(QSqlError &&other)
booloperator==(const QSqlError &other) const

详细说明

A QSqlError 对象可以提供数据库特定的错误数据,包括 driverText() 和 databaseText() 消息(或两者连接在一起作为 text()),以及 nativeErrorCode() 和 type

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

成员类型文档

enum QSqlError::ErrorType

这个枚举类型描述了错误发生的上下文,例如,连接错误、语句错误等。

常量描述
QSqlError::NoError0没有发生错误。
QSqlError::ConnectionError1连接错误。
QSqlError::StatementError2SQL 语句语法错误。
QSqlError::TransactionError3事务失败错误。
QSqlError::UnknownError4未知错误。

成员函数文档

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

构建一个包含驱动错误文本 driverText、数据库特定错误文本 databaseText、类型 type 和错误代码 code 的错误。

QSqlError::QSqlError(const QSqlError &other)

创建 other 的副本。

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

移动构造一个QSqlError实例,使其指向与 other 相同的对象。

注意:被移动的对象 other 将处于一个部分形成的状态,其中唯一有效的操作是销毁和分配新值。

[noexcept] QSqlError::~QSqlError()

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

QString QSqlError::databaseText() const

返回数据库报告的错误文本。这可能包含特定于数据库的描述;它可能是空的。

另请参阅driverText() 和 text

QString QSqlError::driverText() const

返回由驱动程序报告的错误文本。这可能包含特定于数据库的描述。它也可能为空。

另请参阅databaseText() 和 text

bool QSqlError::isValid() const

如果设置了错误,则返回 true,否则返回 false。

示例

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

另请参阅type

QString QSqlError::nativeErrorCode() const

返回特定于数据库的错误代码,如果无法确定则返回空字符串。

注意:一些驱动程序(如 DB2 或 ODBC)可能会返回多个错误代码。当这种情况发生时,; 用作错误代码之间的分隔符。

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

交换错误 other 与此错误。此操作非常快速且永不失败。

QString QSqlError::text() const

这是一个便捷函数,它返回 databaseText() 和 driverText() 连接成一个字符串。

另请参阅driverText() 和 databaseText

QSqlError::ErrorType QSqlError::type() const

返回错误类型,或者在无法确定类型时返回 -1。

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

比较other错误的类型()和本地错误码()与此错误,如果不相等则返回true

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

other错误的值赋予此错误。

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

other移动赋值给此QSqlError实例。

注意:被移动的对象 other 将处于一个部分形成的状态,其中唯一有效的操作是销毁和分配新值。

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

比较other错误的类型()和本地错误码()与此错误,如果相等则返回true

© 2024 Qt公司有限公司。本文件的文档贡献者是各自的版权所有者。本提供的文档受GNU自由文档许可证版本1.3的许可,由自由软件基金会发布。Qt及其相关标志是芬兰及其它国家Qt公司有限公司的商标。所有其他商标均为其各自所有者的财产。