sqlite3异常数据库被锁定

发布于 2024-10-23 14:22:18 字数 210 浏览 1 评论 0原文

如果我在一个函数中打开数据库并在同一函数中关闭,然后再次使用相同的数据库对象但在另一个函数(同一类)中打开它 - 这会导致“数据库被锁定”异常吗?

我应该提到我正在处理数据库的两个不同的表。当我尝试在表中进行 UPDATEINSERT 操作时,会收到错误消息,而在 SELECT 查询中则不会收到错误消息。

If I open database in one function and close in the same function, then again open it with same database object but in another function (of same class) - will that cause a 'database is locked' exception?

I should mention that I'm dealing with two different tables of the database. I get the error when I try to UPDATE or INSERT in the table, and never for SELECT queries.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

影子的影子 2024-10-30 14:22:18

我找到了解决方案。我没有最终确定 sqlite3_stmt,这就是发生这种情况的原因。因此,每当您使用任何 'sqlite3_stmt *statement;' 时,请确保通过调用 'sqlite3_finalize(statement)'; 正确完成

它://www.sqlite.org/cvstrac/wiki?p=DatabaseIsLocked" rel="nofollow">此链接有更好的描述。

I've found the solution. I wasn't finalizing the sqlite3_stmt, that's why this was happening. So, whenver you use any 'sqlite3_stmt *statement;', make sure you properly finalize it by calling 'sqlite3_finalize(statement)';

Check out this link a better description.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文