当前位置:  开发笔记 > 前端 > 正文

SQLite中的"insert"是返回SQLITE_OK还是SQLITE_DONE?

如何解决《SQLite中的"insert"是返回SQLITE_OK还是SQLITE_DONE?》经验,为你挑选了1个好方法。

如果成功,SQLite中的"insert"语句会返回什么?

我一直认为它应该是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吗?

谢谢.



1> Pumpuli..:

SQLITE_DONE

http://www.sqlite.org/c3ref/step.html

您还可以尝试打印出错误代码以找出问题所在.

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有