我的程序目前以只读模式打开数据库。
sqlite3_open_v2(filename, &db, SQLITE_OPEN_READONLY, nullptr);
稍后,我可能决定写入数据库,因此我需要提升我的读/写连接。我现在再打开它。
sqlite3_open_v2(filename, &db, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, nullptr);
我的问题是我是否需要致电
sqlite3_close(db);
第二次打开数据库之前?
答案 0 :(得分:2)
是
sqlite3_open_v2
将指向全新数据库对象的指针写入作为第二个参数传入的指针指针。它不会读取或做任何事情之前的任何事情。无法在旧数据库上调用sqlite3_close
将导致资源泄漏。