安卓中简单的Sql语句

2018-08-11  本文已影响0人  dev晴天
使用原生的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 执行语句没有返回值不容易判断







上一篇下一篇

猜你喜欢

热点阅读