一、数据查询操作
Cursor接口
是一个游标接口,在数据库操作中作为返回值,相当于结果集ResultSet。
| 方法 | 说明 |
| moveToFirst | 用于将指针移动到第一条记录上 |
| moveToNext | 用于将指针移动到下一条记录上 |
| moveToPrevious | 用于将指针移动到上一条记录上 |
| getCount() | 用于获取集合的记录数量 |
| getColumnIndexOrThrow() | 用于返回指定字段名称的序号,如果字段不存在,则产生异常 |
| getColumnName() | 用于返回指定序号的字段名称 |
| getColumnNames() | 用于返回字段称的字符串数组 |
| getColumnIndex() | 用于根据字段名称返回序号 |
| moveToPosition() | 用于将指针移动到指定的记录上 |
| getPosition() | 用于返回当前指针的位置 |
查询示例代码如下:
public class MytabCursor {
private static final String TABLENAME = "mytab" ;
private SQLiteDatabase db = null ;
public MytabCursor(SQLiteDatabase db) {
this.db = db ;
}
public List<String> find(){
List<String> all = new ArrayList<String>() ; // 此时只是String
String sql = "SELECT id,name,birthday FROM " + TABLENAME + " WHERE name LIKE ? OR birthday LIKE ?" ;
String keyWord = "3" ; // 查询关键字 ,应该由方法定义
String args[] = new String[] { "%" + keyWord + "%", "%" + keyWord + "%" };
Cursor result = this.db.rawQuery(sql, args); // 执行查询语句
for (result.moveToFirst(); !result.isAfterLast(); result.moveToNext()) { // 采用循环的方式检索数据
all.add("【" + result.getInt(0) + "】" + " " + result.getString(1)
+ "," + result.getString(2));
}
this.db.close() ;
return all ;
}
}

