今天介绍一下查询的写法。
比如说,数据库创建时产生了一张表格
db.execSQL("CREATE TABLE IF NOT EXISTS person (perid integer primary key, name varchar


(20), age INTEGER)");
查询一条语句时,如果知道唯一的id标识码,可以
Cursor cursor = db.rawQuery(“select name,age from person Where perid = ?”, new String


[perid+""]);  
Person p;
while (cursor.moveToNext()) {  
  p = new Person();
  p.setId(perid);  
  p.setName(cursor.getString(0));//获取第二列的值  
  p.setAge(cursor.getInt(1)));//获取第三列的值 
}  
如此,就获取了数据,同时赋值给对象p了。


如果要查询所有语句,写法类似上面
Cursor cursor = db.rawQuery(“select perid,name,age from person ”, null);  
List persons = new ArrayList();
while (cursor.moveToNext()) {  
  Person  p = new Person(cursor.getInt(0),cursor.getString(1),cursor.getInt(2));
  persons.add(p);
}  
返回的persons集合对象,则是所有的数据语录的集合。


如果查询的是一段数据的话,需要知道开始和结束的位置,通常都是按照分页计算,一般需要知道开始


的页数,和每页的数据量
String start = (pageNum-1)*pageSize+"";
String count = pageSize+"";
Cursor cursor = db.rawQuery(“select perid,name,age from person LIMIT ?,? ”, new String


[start,count]);  
List persons = new ArrayList();
while (cursor.moveToNext()) {  
  Person  p = new Person(cursor.getInt(0),cursor.getString(1),cursor.getInt(2));
  persons.add(p);
}
原理一直,都是通过游标控制指针,只是sql语句不一样。


如果要查询数据库中的表格一共有多少条数据,可以
Cursor cursor = db.rawQuery(“select COUNT(*) from person , null);  
cursor.moveToNext()  
int count = cursor.getInt(0);
 
数据库中还有一个事务的概念,比如从A账户往B账户转账,需要A减去300,B加上300,假如操作到一半


,突然断电了,或死机了,怎么办?A的钱少了,B的钱却没多,这要骂娘的。事务就起这个作用,保证


程序功能操作的完整性。
比如,上述例子中A把age借给了B(希望可以借年龄)


int from =A;int to =B;int amountAge = 5;
try{
db.beginTransaction();
db.execSQL(“UPDATE person SET age = age-? WHERE perid =?”, new Object[amountAge,from]); 
db.execSQL(“UPDATE person SET age = age+? WHERE perid =?”, new Object[amountAge,to]); 
db.setTransactionSuccessful();
}finally{
db.endTransaction();
}

更多相关文章

  1. Android 创建SQLite数据库(一)
  2. Android利用wireshark抓取网络数据包
  3. Android 中数据库查询方法 query() 中的 selectionArgs 的用法
  4. Android 列表数据写入到本地Excel文件(包括图片)
  5. android中的sqlit3数据库进行手机应用软件开发(自写的一个财务管
  6. 6.1、Android中从Internet获取数据
  7. 《Android开发从零开始》——25.数据存储(4)
  8. Android系统配置数据库注释(settings.db)
  9. Android中不同应用间实现SharedPreferences数据共享

随机推荐

  1. android 实现左右滑动效果
  2. Android的Recovery中font_10x10.h字库文
  3. Android上的Adobe AIR应用程序运行环境发
  4. android7.0适配
  5. Android之动画Animation的使用
  6. Android selector背景选择器 用法汇总
  7. 学习Android studio 个人总结小经验
  8. Android有用代码(一)
  9. Learning Android(第一季)01-Android平台一
  10. Android入门教程 sharedpreferences的用