public Cursor query(String table,String[] columns,String selection,String[] selectionArgs,String groupBy,String having,String orderBy,String limit);
参数说明:
table:数据库表的名称
columns:数据库列名称数组 写入后最后返回的Cursor中只能查到这里的列的内容
selection:查询条件
selectionArgs:查询结果
groupBy:分组列
having:分组条件
orderBy:排序列
limit:分页查询限制
Cursor:返回值,将查询到的结果都存在Cursor
Cursor是一个游标接口,每次查询的结果都会保存在Cursor中 可以通过遍历Cursor的方法拿到当前查询到的所有信息。
Cursor的方法
moveToFirst() //将Curor的游标移动到第一条
moveToLast()///将Curor的游标移动到最后一条
move(int offset)//将Curor的游标移动到指定ID
moveToNext()//将Curor的游标移动到下一条
moveToPrevious()//将Curor的游标移动到上一条
getCount() //得到Cursor 总记录条数
isFirst() //判断当前游标是否为第一条记录
isLast()//判断当前游标是否为最后一条数据
getInt(int columnIndex) //根据列名称获得列索引ID
getString(int columnIndex)//根据索引ID 拿到表中存的字段
这里给出一个例子遍历Cursor的例子
private
void query(SQLiteDatabase db) {
// 把整张表的所有数据query到cursor中
Cursor cursor = db.query(TABLE_NAME, null, null, null, null, null, null);
//判断cursor不为空 这个很重要
if (cursor != null) {
// 循环遍历cursor
while (cursor.moveToNext()) {
// 拿到每一行name 与hp的数值
//www.sctarena.com
String name = cursor.getString(cursor.getColumnIndex("name"));
String hp = cursor.getString(cursor.getColumnIndex("hp"));
Log.v("info", "姓名是 " + name + "hp为 " + hp);
}
// 关闭
cursor.close();
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)