SQLite入门之sql写法(二)

3 篇文章 0 订阅
3 篇文章 0 订阅

连接数据库

1.连接数据库具体方法如下(创建连接类必须继承SQLiteOpenHelper类)按截图进行操作即可:
这里写图片描述

增删改查的写法

1.增加
场景描述:在文件夹下添加txt文件,命名为text.text.在文档中输入AB.中国内容.
在增加数据方法中,编写以下代码:如图所示:
这里写图片描述

Inputstream in = this.getContext().getResources().getAssets().open("txt.txt");
int length = in.available();
byte[] b = new byte[length];
in.read(b);
db.execSQL("insert into person (name,salary,pic) values (?,?,?)",new Object[]{"admin",100.00,b});

2.修改

db.execSQL(" update person set salary = ?  where id = ?  ",new Object[]{100.00,1});

3.查询

Cursor cursor =db.rawQuery("select * from  person limit  ?,? ",new string[]{"0","2"});
cursor类似如java中的resultset,方便理解。
while(cursor.moveToNext()){
//第一种方法通过索引获取数据,此方法可读性差
  int id = cursor.getInt(0);
//第二种方法通过列名获取索引,在有索引获取数据
String name = cursor.getString(cursor.getColumnIndex("name"));
}

截图如下:
这里写图片描述
文件编码、数据库编码、获取文件编码必须一致。
//查询当前数据库编码(sql语句):
PRAGMA encoding;
//检查assets文件夹下的文件内容编码是否和数据库编码一致
//设置查询时候,文件的编码更改new string(b) 为new string(b,’utf-8’);

4.删除

db.execSQL("delete from person where _id = ? ",new Object[]{1});

默认采用纯sql方式进行数据的操作:
1.缺点:sql语句需要手写,容易出错,在更新操作没有返回的行数
2.Android内容提供者(读取短信,通讯录),默认不支持纯sql语句读取而是支持api的方式。

使用api进行数据库操作:
1.新增数据
这里写图片描述
2.删除数据
db.delete(“表名”,”参数”,”值”);

int result =db.delete("person","_id=? and name = ? ",new String[]{"1","admin"});

3.更新数据
这里写图片描述
4.事务
这里写图片描述

上述事务中,因10/0异常直接执行finally回滚事务,删除语句执行回滚则没有删除该条数据。

在前端显示图片的时候需要通过下列方式进行对byte[]数组进行转换,如下图所示:

这里写图片描述
通过游标获取数据库中的btye数据,通过BitmapFactory工厂进行转换。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值