我希望能够检查给定的SQLite数据库是否打开。我怎么能用C / C ++做到这一点?我查看了SQLite C / C ++ API,并没有看到为此目的显而易见的事情。
答案 0 :(得分:6)
正如WhozCraig首次提到的,您需要检查sqlite3_open
的返回值。如果返回代码是SQLITE_OK,则数据库已打开。您可能还需要检查指针参数是否未设置为null。
这个函数的接口是documented。
Here是一个邮件列表帖子,其中有人解释了为什么没有isOpen函数。
顺便说一句,强烈建议使用RAII创建DatabaseHandle类。这样,当您完成时,您的程序将确保使用sqlite3
对象调用sqlite3_close
。来自sqlite3_open
的文档:
打开时是否发生错误,资源相关联 应该通过传递它来释放数据库连接句柄 不再需要sqlite3_close()时。