成功した場合、SQLiteのステートメント "insert"は何を返しますか?SQLiteの "insert"はSQLITE_OKまたはSQLITE_DONEを返しますか?
は、私はいつもそれがSQLITE_DONEあるべきと考えますが、最近、私のログに、私は次の文字列を発見:
sqlite3_step error: 'not an error'
そして、ここで言及した文字列ログインするコードです:
prepareStatement(addTranslationStmt2, "INSERT INTO translations(lang1_wordid, lang2_wordid) VALUES(?, ?)");
if (!addTranslationStmt2) return -2;
sqlite3_bind_int(addTranslationStmt2, 1, word_id);
sqlite3_bind_int(addTranslationStmt2, 2, translation_id);
if(sqlite3_step(addTranslationStmt2) != SQLITE_DONE)
{
NSLog(@"sqlite3_step error: '%s'", sqlite3_errmsg(database));
sqlite3_reset(addTranslationStmt2);
return -1;
}
sqlite3_reset(addTranslationStmt2);
を私は疑問に思っています、なぜそれはほとんどの場合に機能しますか? コード内のSQLITE_DONEをSQLITE_OKに変更する必要がありますか?
ありがとうございました。
エラーコードを印刷すると、何が表示されましたか? –
http://code.google.com/p/database-adt/を確認してください – Macarse