如何检查SQLite数据库是否在C / C ++中打开

时间:2014-07-06 18:00:23

标签: c++ c sqlite

我希望能够检查给定的SQLite数据库是否打开。我怎么能用C / C ++做到这一点?我查看了SQLite C / C ++ API,并没有看到为此目的显而易见的事情。

1 个答案:

答案 0 :(得分:6)

正如WhozCraig首次提到的,您需要检查sqlite3_open的返回值。如果返回代码是SQLITE_OK,则数据库已打开。您可能还需要检查指针参数是否未设置为null。

这个函数的接口是documented

Here是一个邮件列表帖子,其中有人解释了为什么没有isOpen函数。

顺便说一句,强烈建议使用RAII创建DatabaseHandle类。这样,当您完成时,您的程序将确保使用sqlite3对象调用sqlite3_close。来自sqlite3_open的文档:

  

打开时是否发生错误,资源相关联   应该通过传递它来释放数据库连接句柄   不再需要sqlite3_close()时。