请问我在使用Qt编写程序时使用了Qsqlite数据库,打包程序时将.db文件直接放到文件夹一起打包了,但使用时发现数据能够正常读写,关闭程序后再打开则没有上次保存的数据。请问有什么解决办法?是打包的问题吗?
QSqlite 是 Qt 自带驱动,一般不需要打包进去也可以自动创建运行,有可能你打包的程序运行路径不在当前 可执行程序的路径下,它在其他地方创建了 .db 文件。你可以尝试在当前路径下创建 文本文件写入运行路径,然后全局搜一下 这个文本 还有打开这个文本当前运行路径是在哪里
query.finish();
#include <QMutex>
.cpp
QMutex m_mutex;
可以使用自解锁的互斥锁,在自身析构的时候自动设置mutex为unlock。
用法:
#include <QMutexLocker>
QMuteLocker locker(&m_mutex);//在每次局部调用之前声明就可以