首页

Cursor类

搜索

概述
cursor类存放查询的结果集,并提供了对结果集中记录进行访问的方法。
常用方法
1, move(int offset);
作用:将指针向上(或向下)移动offset个记录。若offset值为正数则向下移动,若为负数则向上
移动。
2, boolean moveToFirst();
作用:指针移至结果集的第一个记录。若移动成功则返回true,否则返回false
3, boolean moveToLast();
作用:指针移至结果集的最后一个记录。若移动成功则返回true,否则返回false
4, boolean moveToNext();
作用:指针向后移动一条记录,若移动成功则返回true,否则返回false
5, boolean moveToPrevious();
作用:指针向前移动一条记录,若移动成功则返回true,否则返回false
6, isLast();
作用:若指针在Cursor结果集的最后一条记录,则返回true,否则返回false
7, isAfterLast();
作用:若指针在Cursor结果集最后一条记录之后,则返回true,否则返回false
8, isFirst();
作用:若指针在Cursor结果集的第一条记录,则返回true,否则返回false

9, isBeforeFirst();
作用:若指针在Cursor结果集的第一条记录之前,
10, isCIose();
作用:Cursor对象是否关闭,若关闭则返回true,
11, int getColumnIndex(String columnName);
作用:获得指定列的索引值。
参数-columnName:指定列的列名。
示例:
int index=cursor.getColumnIndex( "name");
12, String getString(int columnIndex);
作用:按列的索引获取字符串类型的数据。
参数-clumnnIndex:指定列的索引值。
[示例一2]给[示例一1]增加查询的功能
关键步骤:在[示例一1]的MySQLiteOpenHelper类中增加用于查询的方法:query(),该方法
的代码如下:
/* query()方法:按sql中存放的SQL字符串执行操作,以字符串类型返回查询结果*/
public String query(String sql,String[] args){
String result=””;
SQLiteDatabase db=thiagetReadableDatabase();
//按sql中的SQL命令查询,参数args填充SQL令中的占位符,查询结果存放在cursor中
Cursor cursor=db.rawQuery(sql, args);
if(cursor.moveToFirst()){//将游标指向结果集的开始
//获取personId列的索引值
irrt id=cursor.getColumnIndex(CommonUtils. PERSON_ID);
//获取该列的数据一编号
result=CommonUtiIs.PERSON_ID+”=”+cursor.getString(id);
//获取name列的索引值
int nameIndex=cursor.getColumnIndex(CommonUtiIs.NAME);
//读取该列的数据-姓名
result+="\n" +CommonUtils. NAME+”=”+cursor.getString(nameIndex);
//获取phone列的索引值
int phoneIndex=cursor.getColumnIndex(CommonUtiIs.PHONE);
//获取该列的数据一电话
result+="\n" +CommonUtils. PHONE+”=”+cursor.getString(phoneIndex);
return result;//以字符串类型返回查询的结果
}

 

 

上一页 下一页