我希望能够检查给定的SQLite数据库是否打开.我怎么能用C/C++做到这一点?我查看了SQLite C/C++ API并没有看到为此目的明显的东西.
正如WhozCraig首先提到的,你需要检查返回值sqlite3_open.如果返回代码是SQLITE_OK,则数据库已打开.您可能还需要检查指针参数是否未设置为null.
这在该功能的界面上有记录.
这是一个邮件列表帖子,其中有人解释了为什么没有isOpen函数.
顺便说一句,强烈建议使用RAII创建DatabaseHandle类.这样,您的程序将在您完成后确保sqlite3_close使用该sqlite3对象调用.来自以下文件sqlite3_open:
打开时是否发生错误,应该通过在不再需要时将其传递给sqlite3_close()来释放与数据库连接句柄关联的资源.