Qt sqlite 查询内存泄漏

前端之家收集整理的这篇文章主要介绍了Qt sqlite 查询内存泄漏前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
       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.

有道翻译:清理和释放结果集查询持有的任何资源。查询状态设置为不活跃。你应该几乎从不需要调用这个函数

猜你在找的Sqlite相关文章