我正在编写一个代码来使用 SQLite 数据库,数据库的所有代码都可以工作,但最后,当我尝试删除数据库时,数据库文件没有被删除。我调用了close函数,为什么我不能删除数据库?db.isOpen(); 函数返回 false,并且 QFile::remove(path); 也返回假。注意:在 Windows 资源管理器中,我只能在关闭程序窗口后删除数据库。
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
QString path = "path_to_db";
db.setDatabaseName(path);
if(db.open())
{
qDebug() << "Opened";
qDebug() << path;
}
else
{
qDebug() << db.lastError();
return a.exec();
}
QSqlQuery query(db);
//code to work with the database
db.close();
qDebug() << db.isOpen();
qDebug() << QFile::remove(path);