SQLite的一些须知和容易遗忘的知识点

1、integer 代表整型,real表示浮点型,text表示文本类型 blob表示二进制类型 

2、以下为简单的创表格式:

"create table book(" +
                        "id integer primary key autoincrement," +
                        "name text," +
                        "num integer," +
                        "price real" +
                        ")"
3、最开始的时候继承SQLiteOpenHelper类,实现构造方法、onCreate/onUpgrade

4、构造方法中实例化context,这样做的好处比如说我们在onCreate创表结束后用Toast提示信息框,而这时候的Toast的第一个参数context就可以用这个实例。

5、初始化的时候比如要插入大量的数据,因为这样会产生大量的事务次数,但是一旦出现什么意外情况的话导致遗漏或者插入失败,那样的话对维护或者寻找缺失都是很大的麻烦。所以初始化的时候可以把整体当成一个事务。


db.beginTransaction(); //开启事务
try{
    //初始化
    db.setTransactionSuccessful();//成功 
}catch(Exception e){
	e.printStackTrace();
 }finally{

               db.endTransaction(); //结束事务

}

6.onUpgrade的最佳写法


 @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        switch (oldVersion){
            case 1:
                //如果是版本号1的话如何变化
            case 2:
                //如果是版本号2的话如何变化
            default:
        }
    }
注意:每个case都没有break,这样做的原因是不用考虑之前每个版本的数据库,而是考虑每次升级后上一个版本的改动即可。比如目前version=2,那么case1只需要修改如何变化到2。而version=3的时候 那么case1 case2都会执行,也就是说我们只需要考虑case2如何升级成case3,而不用在意case1升级case3的问题;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值