android Cursor

查询数据库均会把查询的结果包装在一个Cursor的子类对象中返回。Cursor就像是位于结果集之上的一个游标,可以对结果集进行向前、向后或随机的访问。而Cursor本身是一个接口类,提供了对结果集访问的一些抽象方法,根据功能的不同在其子类有着不同的实现。要控制查询时返回的Cursor类型,可以自定义一个继承自CursorFactory类通过实现其newCursor()方法来返回需要的Cursor子类对象,但在CursorFactory传入null的默认情况下,查询操作会返回一个指向第一行数据之前的SQLiteCursor的对象。

对Cursor中常用的一些方法的介绍



 在你理解和使用 Android Cursor 的时候你必须先知道关于 Cursor 的几件事情:

  Cursor 是每行的集合。

  使用 moveToFirst() 定位第一行。

  你必须知道每一列的名称。

  你必须知道每一列的数据类型。

  Cursor 是一个随机的数据源。

  所有的数据都是通过下标取得。

  关于 Cursor 的重要方法:

  close()

  关闭游标,释放资源

  copyStringToBuffer(int columnIndex, CharArrayBuffer buffer)

  在缓冲区中检索请求的列的文本,将将其存储

  getColumnCount()

  返回所有列的总数

  getColumnIndex(String columnName)

  返回指定列的名称,如果不存在返回-1

  getColumnIndexOrThrow(String columnName)

  从零开始返回指定列名称,如果不存在将抛出IllegalArgumentException 异常。

  getColumnName(int columnIndex)

  从给定的索引返回列名

  getColumnNames()

  返回一个字符串数组的列名

  getCount()

  返回Cursor 中的行数

  moveToFirst()

  移动光标到第一行

  moveToLast()

  移动光标到最后一行

  moveToNext()

  移动光标到下一行

  moveToPosition(int position)

  移动光标到一个绝对的位置

  moveToPrevious()

  移动光标到上一行

  下面来看看一小段代码:

  if (cur.moveToFirst() == false)

  {

  //为空的Cursor

  return;

  }

  访问 Cursor 的下标获得其中的数据

  int nameColumnIndex = cur.getColumnIndex(People.NAME);

  String name = cur.getString(nameColumnIndex);

  现在让我们看看如何循环 Cursor 取出我们需要的数据

  while(cur.moveToNext())

  {

  //光标移动成功



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值