QSqlQueryModel读取数据库,提示 database locked
来源:互联网 发布:开源即时通讯软件 编辑:程序博客网 时间:2024/05/17 23:12
问题:在使用QT的QSqlQueryModel操作SQLite数据库的时候,drop table 时,提示错误信息database table is locked Unable to fetch row,也就是database locked,找了半天,发现,当查询结果条目大于256时,会提示此错误。
原因:
原来,QT的QSqlQuery或QSqlQueryModel每次最多只能缓存查询结果的256条。即,如果查询语句操作的结果超过256条了,也只能返回256。这样就必然会导致在后续操作中的错误。
解决办法
在操作结果前先通过fetchmore()来获取所有的结果,方法如下:
QString sqlstr;
sqlstr=QString("select * from a");
//QSqlQueryModel *model = new QSqlQueryModel
model->setQuery(sqlstr);
while(model->canFetchMore())
{
model->fetchMore();
}
0 0
- QSqlQueryModel读取数据库,提示 database locked
- QT中使用QSqlQueryModel读取数据库问题
- QT的QSqlQuery与QSqlQueryModel读取数据库问题
- QT的QSqlQuery与QSqlQueryModel读取数据库问题
- QT的QSqlQuery与QSqlQueryModel读取数据库问题
- FMDB多线程访问数据库,database is locked的问题
- delphi中使用sqlite数据库出现database is locked问题
- 【C#】操作SQLite数据库出现database is locked解决办法
- Qt数据库(五)QSqlQueryModel
- Qt数据库 QSqlQueryModel实例操作
- QT 查询数据库 sql QSqlQueryModel
- Qt数据库:(五)QSqlQueryModel
- Qt数据库 QSqlQueryModel实例操作
- Qt数据库 QSqlQueryModel实例操作
- sqlite database is locked
- android避免database locked
- svn database is locked
- SVN database is locked
- linux openssl 编程 Client端
- 数字排序
- jQuery中.bind() .live() .delegate() .on()的区别
- LNK2001错误原因
- python保存图片
- QSqlQueryModel读取数据库,提示 database locked
- 《Data Structures and Algorithm Analysis in Java》Second Edition中文版笔记
- async-http-client开源库学习笔记(一)
- http://www.cnblogs.com/dojo-lzz/p/3722003.html
- 一道有趣的面试题
- ios属性关键字
- unity里怎么判断现在是运行在32还是64位上?
- POCO库写XMl
- cordova命令行基础