PyQt5编程(41)—使用数据库(7)

3.3 清空查询
如果要使用QSqlQuery类的同一个实例来执行多个SQL查询,则必须用finish()先释放由上一个查询的系统资源。 例如:

query = QtSql.QSqlQuery()
query.exec("select * from good order by goodname")
#清空查询的结果
query.finish()
query.exec(select count(*) as cnt from good")
#开始新的查询

3.4 获取服务查询信息
QSqlQuery类还可用来获取有关请求的各种服务信息。相关方法:

numRowsAffected():返回受SQL语句影响的行数。如果无法确定,则返回-1。 请注意,对于SELECT语句,值是未定义的, 要使用size( )来代替。 
lastInsertId(): 返回添加到数据库中最后一条记录的ID。如果查询没有增加记录或者是数据库格式不支持,则返回None。
lastError():返回最后一条错误信息(QSqlError实例)。
lastQuery():返回当前正在使用的查询的文本.如果没有当前查询文本,则返回空字符串。
executedQuery():回成功执行的最后一个查询语句。
boundValue(int pos): 返回pos位置查询参数的值;
boundValue(iQString  placeholder): 返回placeholder查询参数的值;
boundValues():返回一个字典,键(key)为查询参数;对应的值(value)为查询参数的值。如果查询参数中用(?)表示,则key为任意key,第一个可以为'a',下一个为'b'等等。

你可能感兴趣的:(PyQt5编程(41)—使用数据库(7))