我已经在数据库中插入了一些值并使用从 database.insert 命令获得的数据集的 insertId 查询游标,但我没有得到 cursor.moveToFirst() 的功能,为什么我必须调用它 ?在调用它之后,我能够在某个对象中获取插入的值!!
long insertId = database.insert(MySQLiteHelper.TABLE_NAME, null,
values);
Cursor cursor = database.query(MySQLiteHelper.TABLE_NAME,
allColumns, MySQLiteHelper.COLUMN_ID + " = " + insertId, null,
null, null, null);
cursor.moveToFirst();
Message newMessage = cursorToMessage(cursor);
cursor.close();
最佳答案
光标指向您的数据。起初它指向任何地方,所以这就是为什么你必须调用 moveToFirst()
的原因。如果您会得到不止一个结果,您可以在 while 循环中调用 moveToNext()
,只要有结果,循环就会继续。
关于java - moveToFirst的SQLite数据库函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18704512/