用以下代码打开、读取数据库文件后,关闭数据库连接,removedatabae之后,删不掉文件,为什么?
请各位大虾帮忙,先谢过了。
- C/C++ code
{ QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE","DB1"); db.setDatabaseName("tt.db3"); bool ok = db.open(); bool bLoad = db.isDriverAvailable("QSQLITE"); bool bOpen = db.isOpen(); bool berr = db.isOpenError(); QSqlQuery query(db);//"SELECT area FROM tbl_score"); query.exec("SELECT area FROM tbl_score"); while (query.next()) { QString country = query.value(0).toString(); std::cout<<country.toStdString()<<std::endl; } db.close(); } QSqlDatabase::removeDatabase("DB1"); QFile::remove("tt.db3");
以上哪里处理错了,还是少添加了什么东西?
直接删除文件也不行!
------解决方案--------------------
addDatabase("QSQLITE","DB1"); 去掉DB1参数,采用缺省连接。
试试看。
------解决方案--------------------
用lastError函数打印看看报什么错
------解决方案--------------------
你使用过后直接删除,又不需要保存,为什么不把数据库放到内存里面呢. :memory: 程序结束后直接消失,提高效率