为什么我们必须转到下面代码中的第一项?我认为光标只包含一行,因为rowId是主键
// Fetch single reminder
@SuppressLint("NewApi")
public Cursor fetchReminder(long rowId) throws SQLException {
Cursor myCursor = db.query(true, DATABASE_TABLE, new String[] {
KEY_ROW_ID, KEY_TITLE, KEY_BODY, KEY_DATE_TIME }, KEY_ROW_ID
+ "=" + rowId, null, null, null, null, null, null);
if (myCursor != null) {
myCursor.moveToFirst();
}
return myCursor;
}
答案 0 :(得分:0)
只有一个Cursor类。它不知道它有多少行。 Query不会为查询单行或多行创建不同类型的游标。你应该打电话:
Curcor c = db.query(...);
try {
if (c.moveToFirst()) { // we only have 1 result.
//Otherwise we would iterate by
//(while(c.moveToNext()){...}
String value = c.getString(0);
}
} finally {
c.close();
}