我正在浏览互联网上有关数据库连接,检索的一些代码。我在许多代码中看到了Cursor cur1= moveToFirst()
,我想知道游标的用途是什么以及为什么我们使用moveToFirst()
,因为我是android新手。
答案 0 :(得分:130)
Cursor 是表示任何数据库的二维表的接口。当您尝试使用 SELECT 语句检索某些数据时,数据库将首先创建 CURSOR 对象并将其引用返回给您。
此返回引用的指针指向 0th位置,否则在 Cursor 的第一个位置之前称为,所以当你想要从光标中检索数据,你必须先移动到第一条记录,所以我们必须使用 moveToFirst
当您在光标上调用 moveToFirst()方法时,它会将光标指针指向第一个位置。现在,您可以访问第一条记录
中的数据答案 1 :(得分:59)
简单来说,Cursor是一个返回查询数据集合的接口。 moveToFirst()
用于指向光标位置,以便从光标获取数据。有方法moveToLast()
,moveToNext()
,moveToPrevious()
,moveToPosition(position)
您可以通过所需的方式迭代光标。
例如,您的光标中有数据
Lalit
Rithesh
Paresh
Chandra
moveToFirst()
- 如果您在这种情况下使用cursor.moveToFirst()
它会指向Lalit,因为它是光标中的第一个数据。要得到
光标中的下一个数据可以使用moveToNext()
。
moveToLast()
- 这会将Chandra指向您的当前数据
光标。要从光标获取以前的数据,您可以使用
moveToPrevious()
答案 2 :(得分:24)
Cursor表示查询的结果,并且基本上指向查询结果的一行。这样Android可以有效缓冲查询结果;因为它不必将所有数据加载到内存中。
要获取结果查询的元素数,请使用getCount()
方法。
要在各个数据行之间移动,您可以使用moveToFirst()
和moveToNext()
方法。 isAfterLast()
方法允许检查是否已到达查询结果的末尾。
Cursor提供类型化的get *()方法,例如getLong(columnIndex)
,getString(columnIndex)
访问结果当前位置的列数据。 “columnIndex”是您要访问的列的编号。
Cursor还提供getColumnIndexOrThrow(String)
方法,该方法允许获取表的列名的列索引。
需要使用close()
方法调用关闭Cursor。查询返回Cursor对象。
答案 3 :(得分:10)
Cursor就像java中的ResultSet一样,它有一些带有指针的查询返回的行。 moveToFirst()
,moveToNext()
和moveToPosition(position)
设置指向所需位置的指针。
答案 4 :(得分:2)
使用光标界面作为数据集合。
它与newCollection()
中的Cursor
类似,它保存一些查询返回的一行或多行。
PL/SQL
界面中提供了以下方法,这些方法遍历Cursor
,将Cursor
设置为所需位置:
答案 5 :(得分:2)
游标是任何SQL查询结果将存储在其中的。
答案 6 :(得分:0)
Cursor接口提供对数据库查询返回的结果集的随机读写访问。
不需要同步Cursor实现,因此使用Cursor时,使用来自多个线程的Cursor的代码应该执行自己的同步。