Android ----SQLiteDate(Cursor接口)

本文详细介绍了Android中Cursor接口的基本概念及常用方法,如关闭游标、获取查询结果的数据条数和列数量等,并阐述了如何利用Cursor遍历查询结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cursor接口:查询游标接口

Cursor接口是一个查询结果的游标接口,Android通过该接口提供了很多遍历查询结果的方法。在程序中,通过query方法查询的结果是存放在Cursor接口的对象中,通过解析Cursor接口的对象,便可以获取查询结果。
基本方法介绍如下:
1. close()方法:关闭游标,释放其占有的资源,此时该游标不可用。为了提高应用程序和系统的运行速度,每次游标操作结束后使用该方法关闭游标。
cur.close();//关闭游标
2. getCount()方法:用于获取查询结果中数据的条数,返回值为int整型,如果查询结果,将返回0。
int count=cur.getCount(); //获取数据量
3.getColumnCount()方法:用于获取查询结果中数据列的数量,返回值为int整型,查询结果的列数量与数据库中的列数量可以不同,因为我们可以在query查询方法中指定需要查询获得的列。
int count=cur.getColumnCount(); //查询列的数量。
4.getColumnIndex()方法:用于获取查询结果中数据的列编号,返回值为Int整型。数据库中的列编号从0开始依次递增,第一个数据一般是_id,其编号为0.如果列不存在,则返回-1.
int count1=cur.getColumnIndex(ID); //获取ID列的编号
5.getColumnIndexOrThrow()方法:获取数据列编号,返回值为Int整型。方法的功能与getColumnIndex()方法类似,主要区别:如果列不存在,该方法将抛出IllegalArgumentException异常。
int count1=cur.getColumnIndexOrThrow()(ID); //获取ID列的编号
6.getColumnName()方法:用于获取查询结果数据的列名称。
public abstract String getColumnName(int columnIndex)//参数columnIndex 为指定的列编号,用于获取指定列编号的列名称。
String str=cur.getColumnName(0);//获取0列的名称
public abstract String getColumnName(int columnIndex)//用于获取查询结果中的列名称,返回值保存在字符串数组中。
7.getString()方法:用于获取查询结果中指定列获取字符串内容(String类型的列)。
String str1=cur.getString(1);//获取到第一列的数据内容
getDouble()方法:获取双精度浮点型内容、getFloat()方法:获取单精度浮点型内容、getInt()方法:获取整型内容、getLong()方法:获取长整型内容、getShort()方法:获取短整型内容.
8.getType()方法:获取指定列数据类型,通过指定列编号来实现。android3.0后才支持。可以通过该方法获取当前数据列的数据数据类型,然后调用不同的方法来获取数据内容。
public abstract String getType()(int columnIndex)//参数columnIndex 为指定的列编号,返回值为指定列的数据类型,包括以下几种:
FIELD_TYPE_BLOB:二进制文件。
FIELD_TYPE_FLOAT:浮点型。
FIELD_TYPE_INTEGER:整型。
FIELD_TYPE_NULL:空值。
FIELD_TYPE_STRING:字符串。
9.moveToFirst()方法: 移动到第一行。用于将查询结果的游标移动到第一行(第一条数据),常用于从头遍历整个查询结果的场合。
10.moveToNext()方法: 移动到下一行,用于将查询结果的游标移动到下一行,也就是指向查询结果的下一条数据,常用于从头遍历整个查询结果的场合。
11.moveToLast()方法: 移动到最后一行,用于将查询结果的游标移动到最后一行,也就是指向查询结果的最后一条数据,常用于从头遍历整个查询结果的场合。
12.moveToPosition()方法:移动到指定的位置,用于将查询结果的游标移动到指定的行,当指定的行存在时,将返回true,否则返回false,常用于从头遍历整个查询结果的场合。
public abstract boolean moveToPosition(int position);//position指定的行号,从0开始。
13.moveToPrevious()方法:移动到前一行,用于将查询结果的游标从当前行移动到前一行,也就是指向查询结果的上一条数据,常用于从头遍历整个查询结果的场合。
public abstract boolean moveToPrevious();
14.move()方法:移动到指定偏移位置,用于将查询结果的游标从当前行移动到指定的偏移行,该方法已当前游标指定的行为基准,如果指定的偏移量为正,表示向后移动游标,为负,表示向前移动游标。
public abstract boolean move(int offset);//参数offset为指定的偏移量,返回值为布尔型,如果指定的数据存在,则返回true,否则将返回false.
cur.move(1);//下一条数据
13.getPosition()方法:获取当前位置,用于获取当前游标指向查询结果的位置。
public abstract int getPosition();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值