下一个代码会按预期工作吗?
Cursor c = db.query(tableName, requestedColumns, condition,
conditionParams, null, null, sortOrder);
while(c.moveToNext()) {
//do stuff with rows
}
我到目前为止发现的示例建议先调用c.moveToFirst()
,但这是否真的有必要?
答案 0 :(得分:9)
是的,它会起作用,moveToNext
实际上会调用moveToFirst
答案 1 :(得分:3)
是的,它会起作用,第一个moveToNext()会将光标指向结果集的第一个条目,(如果结果集有值)
答案 2 :(得分:2)
迟到的答案,但对于其他人找到此页面可能有用。我一直在使用:“if()do {} while();”环。如果游标中没有返回任何行,则“moveToFirst()”函数返回false。 “moveToNext()”函数在游标的结束时返回false:
Cursor c = db.query(......);
if (c.moveToFirst()) do {
data = c.getString(0) // eg. get value from first column in cursor
// do something more
} while (c.moveToNext());
c.close();