| 增加 删除 修改 查询 数据库中的数据
 使用SQLiteDatabase对象调用 insert()方法 传入标的名称与ContentValues 添加的内容 则可以向数据库表中写入一条数据 delete ()为删除一条数据 update()为更新一条数据。
 
 我详细说一下查找一条数据使用的方法 query 中 跟了8个参数
 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的数值
String name = cursor.getString(cursor.getColumnIndex("name")); 
String hp = cursor.getString(cursor.getColumnIndex("hp")); 
Log.v("info", "姓名是 " + name + "hp为 " + hp); 
} 
// 关闭
cursor.close(); 
} 
}   |