Что делает заявление «вставить» в SQLite-возвращение в случае успеха?«Вставляет» в SQLite возвращает 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