注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

亲民博客

记录生活中的点点滴滴

 
 
 

日志

 
 

SQLite数据库的简单读写操作  

2014-11-05 00:03:00|  分类: 安卓开发 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
安卓系统自带SQLite数据库,SDK中对SQLite的操作由SQLiteDatabase完成,涉及到的类有如下几个:
1、SQLiteDatabase:代表数据库本身,支持对数据的标准SQL操作
2、Cursor:用来实现对查询结果集的随机读写

下面代码实现如何打开数据库,并建立数据表:
SQLiteDatabase db;
db = openOrCreateDatabase(DB_NAME, this.MODE_PRIVATE, null); 
db.execSQL("DROP TABLE IF EXISTS students");    
db.execSQL("CREATE TABLE IF NOT EXISTS students (_id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR, age INTEGER)"); 
db.execSQL("insert into students values (null,?,?)",new Object[]{"Tom",30});
实际上,db.execSQL()函数就可以执行全部的SQL指令。

下面的代码实现如何通过Cursor循环读取数据表中的数据:
Cursor c = db.rawQuery("SELECT * FROM students",null); 
while (c.moveToNext())
{
int id = c.getInt(c.getColumnIndex("_id"));  
    String name = c.getString(c.getColumnIndex("name")); 
    System.out.printlin(id+name);   
}
c.close();
db.close();

Cursor的另一些操作
通过getCount()方法得到结果集中有多少记录;
通过getColumnNames()得到字段名;
通过getColumnIndex()转换成字段号;
通过getString().getInt()等方法得到给定字段当前记录的值;
通过requery()方法重新还行查询得到游标;
通过close()方法释放游标资源。

Cursor的移动操作:
MoveToNext()
MoveToPrevious()
MoveToLast()
MoveToFirst()
Move(int offset)从当前位置向上或向下移动的行数,offset的正负分别代表向下和向上;
MoveToPosition(int position)移到position指定的行
  评论这张
 
阅读(0)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017