我收到数据库损坏的 SQLITE_CORRUPT 错误。
wrong # of entries in index sqlite_autoindex_Settings_1
在我的代码中,我有一个 try/finally 子句,在该子句中我总是尝试使用 sqlite3_finalize 我的语句。
显然,在尝试完成语句的损坏数据库上再次引发 SQLITE_CORRUPT。
问题:如果报告数据库已损坏,我应该完成我的陈述吗?
我收到数据库损坏的 SQLITE_CORRUPT 错误。
wrong # of entries in index sqlite_autoindex_Settings_1
在我的代码中,我有一个 try/finally 子句,在该子句中我总是尝试使用 sqlite3_finalize 我的语句。
显然,在尝试完成语句的损坏数据库上再次引发 SQLITE_CORRUPT。
问题:如果报告数据库已损坏,我应该完成我的陈述吗?
在 sqlite3_finalize 之前或每个 sqlite3_step 之后使用 sqlite3_reset。
sqlite3_reset(S) 接口将准备好的语句 S 重置回其程序的开头。
在每个 sqlite3_step 之后检查您是否有 sqlite3_reset,因为这是导致数据库损坏的一种情况。在使用 sqlite3_prepare 准备语句并使用 sqlite3_step 执行它之后,您需要始终使用 sqlite3_reset 重置它。
sqlite3_reset(S) 接口将准备好的语句 S 重置回其程序的开头。
在 sqlite3_finalize 之前或每个 sqlite3_step 之后使用 sqlite3_reset。
希望这能解决你的问题......!!!