zoukankan      html  css  js  c++  java
  • 每日日报

    SQLiteOpenHelper的oncreate方法 和 onUpgrade方法

        onCreate方法(必须实现的方法)

            当调用getReadableDatabase或getWriteableDatabase方法 第一次创建数据库的时候会执行这个方法
            作用: 在这个方法中做创建表 和初始化数据的操作
    @Override
        public void onCreate(SQLiteDatabase db) {
            //适合做创建表 初始化数据的操作
            db.execSQL("create table info (_id integer primary key autoincrement, name varchar(20),phone varchar(20))");
        }

       onUpgrade方法(必须实现的方法)

             当调用getReadableDatabase或getWriteableDatabase方法时 如果数据库版本号变大 则会调用这个方法
             作用: 在这个方法中做数据库或表结构修改的操作 比如给表添加字段 或给数据库增加新的表
    @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            //通过oldVersion 和newVersion 可以判断当前版本号和最新的版本号 
        //真实开发环境可能会针对不同的数据库版本做不同的操作
            db.execSQL("alter table info add age integer");
        }

       onDowngrade方法(可选)

               当调用getReadableDatabase或getWriteableDatabase方法时 如果数据库版本号变小 则会调用这个方法
               作用: 处理数据库版本降级的操作 如果不重写这个方法 则默认数据库降级会抛异常
    @SuppressLint("NewApi") 
    @Override
    public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) { //处理数据库降级的需求 注意 super.onDowngrade 一定要删掉 否则如果数据库降级依然会抛异常 //super.onDowngrade(db, oldVersion, newVersion); //一般很少做数据库降级的操作 不一定要实现 }

    注意 :  onCreate onUpgrade 由系统调用 不需要手动调用

  • 相关阅读:
    [2020多校联考]甲虫
    .eww
    MinGW安装c-c++
    .竖梁上的两个孔最小距离可以是多少呢?PS15D
    .dwg(sw)-exb
    开始学emacs-1
    看jpg和png图片
    .系列化参数关系
    2015计划
    大蚂蚁在64位系统下,右键没有快发的解决方案
  • 原文地址:https://www.cnblogs.com/zhukaile/p/14836059.html
Copyright © 2011-2022 走看看