博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQLite数据库的简单读写操作
阅读量:5142 次
发布时间:2019-06-13

本文共 1148 字,大约阅读时间需要 3 分钟。

安卓系统自带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指定的行

转载于:https://www.cnblogs.com/maxma/p/9169811.html

你可能感兴趣的文章
使用Xshell密钥认证机制远程登录Linux
查看>>
【模板】最小生成树
查看>>
java面试题
查看>>
pair的例子
查看>>
uva 387 A Puzzling Problem (回溯)
查看>>
Oracle中包的创建
查看>>
django高级应用(分页功能)
查看>>
【转】Linux之printf命令
查看>>
关于PHP会话:session和cookie
查看>>
C#double转化成字符串 保留小数位数, 不以科学计数法的形式出现。
查看>>
利用IP地址查询接口来查询IP归属地
查看>>
构造者模式
查看>>
Hbuild在线云ios打包失败,提示BuildConfigure Failed 31013 App Store 图标 未找到 解决方法...
查看>>
找到树中指定id的所有父节点
查看>>
jQuery on(),live(),trigger()
查看>>
Date Picker控件:
查看>>
你的第一个Django程序
查看>>
treegrid.bootstrap使用说明
查看>>
[Docker]Docker拉取,上传镜像到Harbor仓库
查看>>
javascript 浏览器类型检测
查看>>