C++ C++;:铁路超高';t关闭后删除sqlite文件
我用以下函数编写了一个sqlite类:C++ C++;:铁路超高';t关闭后删除sqlite文件,c++,sqlite,C++,Sqlite,我用以下函数编写了一个sqlite类: bool Csqlite::init (string _InFile) { if (sqlite3_open_v2(_InFile.c_str (), &db, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL) == SQLITE_ERROR) return false; return true; } void Csqlite::quit () { sq
bool Csqlite::init (string _InFile)
{
if (sqlite3_open_v2(_InFile.c_str (), &db, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL) == SQLITE_ERROR)
return false;
return true;
}
void Csqlite::quit ()
{
sqlite3_reset (stmt);
sqlite3_clear_bindings (stmt);
sqlite3_close(db);
}
bool Csqlite::execute (string _InOperation)
{
if (sqlite3_prepare_v2 (db, _InOperation.c_str (), _InOperation.size () + 1, &stmt, NULL) != 0)
return false;
if (sqlite3_step (stmt) == SQLITE_ERROR)
return false;
return true;
}
现在,奇怪的是,如果我调用init
,而不调用其他quit
,我就可以在windows中删除本地文件。但是,当我在这两个函数之间调用execute
并再次尝试删除该文件时,Windows会说该文件已打开
有什么想法吗?你忘了用它来释放声明