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