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