这些代码块工作但......
如果我逐个使用这个块,我的应用程序不会删除数据库文件。 (class _lambda {
public:
template<class T, class U>
auto operator()(T lhs, U rhs) const { return lhs + rhs; }
};
是operator+()
)
sqlite管理部分:
result
删除部分:
false
但是如果我只使用删除代码而没有数据库操作它就可以了!为什么?我怎么能避免它?
答案 0 :(得分:1)
因为当您使用数据库连接时,您的sql文件正在使用中,因此您无法将其删除。
当您不使用数据库操作时,sql文件未被使用,因此可以轻松删除它。因此,删除所需的文件以确保没有与数据库的开放连接,并且一旦关闭所有连接,您就可以删除该文件。 变化
stmt.close();
到
stmt.close();
conn.close();