升级数据库的最佳写法
来源:互联网 发布:黑手党知乎 编辑:程序博客网 时间:2024/06/06 04:53
package com.example.databasetest;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.widget.Toast;public class MyDatabaseHelper extends SQLiteOpenHelper { public static final String CREATE_BOOK ="create table Book(" +" id integer primary key autoincrement , author text , " +"price real, pages integer , name text" + "category_id integer )";//用户直接安装第三版 public static final String CREATE_CATEGORY = "create table Category (" +"id integer primary key autoincrement," +"category_name text ," +"category_code integer)"; private Context mContext; public MyDatabaseHelper(Context context , String name , SQLiteDatabase.CursorFactory factory , int verson){//CursorFactory为查询数据时返回自定义的Cursor super(context , name , factory , verson); mContext = context ; } @Override public void onCreate(SQLiteDatabase db) { Toast.makeText(mContext,"Create succeed" ,Toast.LENGTH_SHORT).show(); db.execSQL(CREATE_BOOK); db.execSQL(CREATE_CATEGORY); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {//对数据库进行升级 执行的条件是在创建时的版本号大于上一次的版本号 switch (oldVersion){ case 1:db.execSQL(CREATE_CATEGORY); case 2:db.execSQL("alter table Book add column category_id integer"); default: } }}
如果用户安装的是之前某一版的程序时,就会进入升级数据库的操作中。
注意每个case后无break保证用户可能从第一版直接升到第三版
0 0
- 升级数据库的最佳写法
- 升级数据库的最佳写法
- Android-升级数据库的最佳写法
- Android 升级数据库的最佳写法
- 升级SQLite数据库最佳写法
- 实践--升级数据库最佳写法
- Android学习笔记----升级SQLite数据库的最佳写法
- android数据库的升级的写法
- 启动活动的最佳写法
- 启动活动的最佳写法
- 启动活动的最佳写法
- 启动活动的最佳写法
- 启动活动的最佳写法
- 启动活动的最佳写法
- 启动活动的最佳写法
- 启动活动的最佳写法
- android SQLite更新数据库版本最佳写法
- MySQL 升级的最佳实践
- 堆排序
- Android网络编程(六)OkHttp3用法全解析
- 如何正确使用@synthesize(在有了自动合成属性实例变量之后,@synthesize还有哪些使用场景?)
- 硬盘接口种类
- Apache Flink的特性
- 升级数据库的最佳写法
- ios developer tiny share-20160915
- 设计模式之门面模式07
- HDFS简介
- springBoot tomcat启动
- mybatis介绍
- 记忆化搜索,状压DP(20个问题,uva 1252)
- CAPropertyAnimation 用法
- std::min and std::max 出错解决方案