[安卓]Cursor用法
来源:互联网 发布:微信淘宝客论坛 编辑:程序博客网 时间:2024/05/18 03:13
Cursor用于数据库的查询读取,
主要方法:moveToFist moveToNext moveToPrevious getCount getColumnIndex getColumnIndexOrThrow
getColumnName getColumnNames moveToPosition getPosition
Cursor每次只读表中一行数据,读完后用moveToNext方法读下一行。
数据库转换成对象的方法如下:
private People[] ConvertToPeople(Cursor cursor){
int resultCounts = cursor.getCount();//总共的数据量
if(resultCounts == 0 || !cursor.moveToFirst()){//指针移动到第一条数据不成功
return null;
}
People[] peoples = new People[resultCounts];//
for(int i=0;i<resultCounts;i++){
peoples[i] = new People();
peoples[i].ID = cursor.getInt(0);//获取每行数据的ID
peoples[i].Name = cursor.getString(cursor.getColumnIndex(KEY_NAME));//获取对应数据行的KEY的String
peoples[i].Age = cursor.getInt(cursor.getColumnIndex(KEY_AGE));
//获取对应数据行的KEY的intpeoples[i].Height = cursor.getInt(cursor.getColumnIndex(KEY_HEIGHT));
//获取对应数据行的KEY的intcursor.moveToNext();
}
return peoples;//返回对象
}
private SQLiteDatabase db;
//数据库插入数据
public long insert(People people){
ContentValues newValue = new ContentValues();
newValue.put(KEY_NAME,people.Name);
newValue.put(KEY_AGE,people.Age);
newValue.put(KEY_HEIGHT,people.Height);
return db.insert(DB_TABLE,null,newValue);
}
//数据库删除所有数据
public long deleteAllData(){
return db.delete(DB_TABLE, null, null);
}
- //数据库删除指定id的数据
public long deleteOneData(long id){
return db.delete(DB_TABLE, KEY_ID + "="+ id,null);
}
//查询表中所有数据
public People[] queryAllData(){
Cursor results = db.query(DB_TABLE,new String[] { KEY_ID,KEY_NAME,KEY_AGE,KEY_HEIGHT},null,null,null,null,null);
return ConvertToPeople(results);
}
//查询表中指定id的数据
public People[] queryOneDta(long id){
Cursor results = db.query(DB_TABLE,new String[] {KEY_ID, KEY_NAME, KEY_AGE, KEY_HEIGHT},KEY_ID+"="+id,null,null,null,null);
return ConvertToPeople(results);
}
//更新表中数据
public long updateOneData(long id, People people){
ContentValues updateValues = new ContentValues();
updateValues.put(KEY_NAME,people.Name);
updateValues.put(KEY_AGE,people.Age);
updateValues.put(KEY_HEIGHT,people.Height);
return db.update(DB_TABLE,updateValues, KEY_ID + "=" + id,null);
}
阅读全文
0 0
- [安卓]Cursor用法
- 安卓 Cursor泄露
- 安卓开发-cursor adapter
- Cursor 用法
- Cursor 用法
- oracle cursor 简单用法
- cursor新用法
- CURSOR 的用法
- CSS中的cursor用法
- procedure,cursor 用法
- SQL Cursor 基本用法
- Android Cursor用法
- Android Cursor用法
- SQL Cursor 基本用法
- SQL Cursor 基本用法
- SQL Cursor 基本用法
- 关于 Android cursor用法
- android Cursor用法
- jeecg快速开发平台初体验
- java自动装箱和拆箱
- Problem B: AB*C+A=y的方程
- Game
- 万岛之国
- [安卓]Cursor用法
- win10下SecureCRT SSH连接慢
- Maven 项目打包需要注意到的那点事儿
- 2017 计蒜之道 复赛 B. Windows 画图 坐标描点
- PL/SQL 其它
- 定时器
- 解析死锁问题
- Android跨进程事件注入 Injecting to another application requires INJECT_EVENTS permission
- centos7使用rdo安装openstack遇到的问题