3

データベースが破損しているという SQLITE_CORRUPT エラーを受け取りました。

wrong # of entries in index sqlite_autoindex_Settings_1

私のコードには、ステートメントを常に sqlite3_finalize しようとする try/finally 句があります。

どうやら破損したデータベースでステートメントをファイナライズしようとすると、再び SQLITE_CORRUPT が発生します。

質問: データベースが破損していると報告された場合、ステートメントを確定する必要がありますか?

4

2 に答える 2

1

sqlite3_finalizeの前、またはすべてのsqlite3_stepの後に、sqlite3_resetを使用します。

sqlite3_reset(S)インターフェースは、プリペアドステートメントSをプログラムの先頭にリセットします。

于 2013-02-27T07:28:02.957 に答える
0

これはデータベースが破損する原因の1つであるため、すべてのsqlite3_stepの後にsqlite3_resetがあるかどうかを確認してください。sqlite3_prepareでステートメントを準備し、sqlite3_stepで実行した後は、常にsqlite3_resetでリセットする必要があります。

sqlite3_reset(S)インターフェースは、プリペアドステートメントSをプログラムの先頭にリセットします。

sqlite3_finalizeの前、またはすべてのsqlite3_stepの後に、sqlite3_resetを使用します。

これがあなたの問題を解決することを願っています...!!!

于 2013-02-19T10:18:34.897 に答える