Qt sqlite 查询内存泄漏
发布时间:2020-12-12 19:28:34 所属栏目:百科 来源:网络整理
导读:QSqlDatabase db; if(QSqlDatabase::contains("test")) db = QSqlDatabase::database("test"); else db = QSqlDatabase::addDatabase("QSQLITE","test"); db.setDatabaseName("black.db"); if(!db.open()) { QSqlDatabase::removeDatabase("QSQLITE"); retur
QSqlDatabase db; if(QSqlDatabase::contains("test")) db = QSqlDatabase::database("test"); else db = QSqlDatabase::addDatabase("QSQLITE","test"); db.setDatabaseName("black.db"); if(!db.open()) { QSqlDatabase::removeDatabase("QSQLITE"); return ; } QTime tmpTime; tmpTime.start(); QSqlQuery query(db); query.exec("select * from pixdata where card='1000123'"); int x= 0; while(query.next()) { x = query.value(0).toInt(); qDebug()<<query.value(0).toInt()<<query.value(1).toString(); } qDebug()<<"time"<<tmpTime.elapsed()<<"ms"; //query.clear(); db.close(); QSqlDatabase::removeDatabase("QSQLITE");
这样查询时任务管理器里查看,内存一直往上增加
加了query.clear() 就正常了 Clears the result set and releases any resources held by the query. Sets the query state to inactive. You should rarely if ever need to call this function. 有道翻译:清理和释放结果集查询持有的任何资源。查询状态设置为不活跃。你应该几乎从不需要调用这个函数。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |