【发布时间】:2015-08-02 05:36:49
【问题描述】:
我在更新特定行的列值时遇到了问题。我写过
Cursor c = mDb.rawQuery("UPDATE "+book+" SET footnotes='" + note + "' WHERE chapter="+chapter+" and verse="+verse+"", null);
c.close();
但是在添加 c.moveToFirst() 时它起作用了。这是为什么呢?
Cursor c = mDb.rawQuery("UPDATE "+book+" SET footnotes='" + note + "' WHERE chapter="+chapter+" and verse="+verse+"", null);
c.moveToFirst();
c.close();
为什么这里需要 c.moveToFirst(),有什么特别的原因吗?
对于 c.moveToFirst() 有一个解释 (What is The use of moveToFirst () in SQLite Cursors) 这简要表明使用 c.moveToFirst() 做了两件事
允许您测试查询是否返回空集
将光标移动到第一个结果
但是以上两点对更新有什么帮助呢?
【问题讨论】: