SQLite入门之sql写法(二)
来源:互联网 发布:长沙黑马程序员地址 编辑:程序博客网 时间:2024/06/06 10:56
连接数据库
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 0
- SQLite入门之sql写法(二)
- SQLite入门之二常用命令
- SQLite入门介绍(二)
- Oracle入门(二)之SQL
- Oracle入门(二)之SQL
- 标准Sql语句的写法(二)
- Sqlite学习(二) sqlite操作入门(命令行操作)
- SQLite入门(二)
- Android面试整理之SQLite数据库——sql语句和常用函数(二)
- SQLITE入门-逐步讲解SQLITE命令行(二)
- PL/SQL编程入门之二
- SQL语言快速入门之二
- SQL入门基础(二)
- Sql基础入门(二)
- android之SQLite数据库应用(二)
- Android数据库 之 SQLite数据库(二)
- Android开发之SQLite (二)
- 学习SQLite之路(二)
- Unity3D基础知识梳理
- JavaScript内置对象(基础)
- 设计模式(1)
- QT connect学习
- 线性基
- SQLite入门之sql写法(二)
- 第八届蓝桥杯省赛真题
- Unity3D 5.x怎么添加背景音乐?
- 设计模式(2)
- NOI(1.9编程基础之顺序查找-05:最大值和最小值的差)
- 自定义MVC框架
- 04-树7 二叉搜索树的操作集 (30分)
- 字符移位(不能额外申请空间)
- NULL,'\0',0,'0',' '区别