使用原生的Sql语句增删改使用execSql() 查询使用rawquery() 返回cursor类型
例如
1 向Info表中增加数据
insert into Info(name,phone)values('张三','15467893152'); 指定列添加数值
一般不写死 采用以下写法(execSql方法参数)
db.execSql("insert into Info(name,phone)values(?,?)",new Object[]{"张三","123465697752"})
第二个参数为object数组 采用? 占位符的方法
2 修改数据update
update Info set phone='1234567890' where name='张三'
3 查询select
select name,phone from Info
4 delete 删除
delete from Info where name=‘王五’(不带where会删除所有信息)
删除也可以使用占位符的形式
注 数据库官方要求是使用过要关闭 (但是频繁打开关闭不好 有的公司要求不关闭)
注 增删改都可以使用db.execSql();但是查找不可以 返回数据需要处理
使用db.rawQuery("sql查询语句",占位符没有可以设为null); 和上面的类似 此函数返回Cursor对象
Cursor 游标的api: 使用过后关闭 (代码规范)
moveToFirst()返回boolean 移动到第一行
moveToLast()返回boolean 移动到末行
moveToNext() 返回boolean 移动到下一行 (一般while循环移动)
getCount()返回行数
getColumnCount ()返回列数
内置的数据库底层不区分数据类型 都为String
假如 info 表 字段 id为integer 你取数值可以直接getString()
cursor.getString(int index) 接受参数列的索引(索引从0开始)
moveToNext() 确定行 只需指定列就可以得到想要的数值
使用Sql语句缺点:
1 语句容易出错
2 执行语句没有返回值不容易判断
安卓中简单的Sql语句
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...