Qt扫盲-QSqlError理论总结

QSqlError理论总结

    • 1. 简述
    • 2. 常用函数
    • 3. 错误类型
    • 4. 常见使用

1. 简述

QSqlError 类可以提供针对特定数据库在连接、查询时候发生错误时,提供关键的信息。这里的关键包括 driverText() 和 databaseText() 消息。或者直接使用将前面两者信息连接在一起的text() 函数,以及 nativeErrorCode() 和 type() 。

这个类不是单独使用的 一般都是在QSqlDatabase类、QSqlQuery类判断是否有错误发送时生成的一个对象,通过分析下面两个函数返回的对象信息来让程序或者用户发现哪里有问题。

QSqlDatabase::lastError() 和 QSqlQuery::lastError().

2. 常用函数

函数名 含义
databaseText() 返回数据库报错信息。这个描述是特定于不同数据库,也就是不同数据库的错不一样,很细致的。它可能是空的。
driverText() 返回数据库驱动报错信息,这个描述是特定于不同数据库驱动
isValid() 判断这个错误是不是合法的
nativeErrorCode() 返回特定于数据库的错误代码
text() 就是 databaseText() 和 driverText() 拼接在一起的
type() 返回错误类型

3. 错误类型

错误名 含义
QSqlError::NoError 没有错误发生
QSqlError::ConnectionError 连接错误
QSqlError::StatementError SQL语句的语法错误
QSqlError::TransactionError 事务失败错误
QSqlError::UnknownError 未知错误

4. 常见使用

QSqlQueryModel model;
model.setQuery("select * from myTable");

//判断发生问题
if (model.lastError().isValid())
	qDebug() << model.lastError();

你可能感兴趣的:(#,▶,Qt扫盲,QSqlError,QSqlError理论,QSql错误类,数据库,qt5)