SQLite数据库升级
来源:互联网 发布:mac svn checkout 编辑:程序博客网 时间:2024/05/14 06:52
import android.os.Bundle;import android.support.v7.app.AppCompatActivity;public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); MyDataBaseOpenHelper helper = new MyDataBaseOpenHelper(getApplicationContext()); }}
import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.util.Log;//原文参考:http://www.cnblogs.com/liqw/p/4264925.htmlpublic class MyDataBaseOpenHelper extends SQLiteOpenHelper { private static final String TAG = "MyDataBaseOpenHelper"; private static final int FIRST_DATABASE_VERSION = 1;//FIRST_DATABASE_VERSION 第一次安装的数据库版本 不需要修改 private static final int DATABASE_VERSION = 1;//DATABASE_VERSION 每次升级数据库应该比上个版本高即可 每次+1 1→2→3→4 public MyDataBaseOpenHelper(Context context) { super(context, "SQLite.db", null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { Log.i(TAG, "创建Account表 创建字段User和Name"); sqLiteDatabase.execSQL("create table if not exists Account(User TEXT,Name TEXT)"); //FIRST_DATABASE_VERSION 第一次安装的数据库版本 不需要修改 //DATABASE_VERSION 每次升级数据库应该比上个版本高即可 每次+1 onUpgrade(sqLiteDatabase, FIRST_DATABASE_VERSION, DATABASE_VERSION); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { for (int i = oldVersion; i < newVersion; i++) { switch (i) {//这个i判断的是旧的版本 即之前安装的版本 case 1: upgradeToVersion2(db);//旧版本是1的时候升级到2 新增字段性别Sex break; case 2: upgradeToVersion3(db);//旧版本是2的时候升级到3 新增字段年龄Age break; case 3: upgradeToVersion4(db);//旧版本是3的时候升级到4 新增字段城市City break; default: Log.i(TAG, "default"); break; } } Log.i(TAG, "------------------------------------------------ 当前安装的版本:" + DATABASE_VERSION); } private void upgradeToVersion2(SQLiteDatabase db) { Log.i(TAG, "创建字段-性别Sex"); db.execSQL("ALTER TABLE Account ADD COLUMN Sex TEXT;"); } private void upgradeToVersion3(SQLiteDatabase db) { Log.i(TAG, "创建字段-年龄Age"); db.execSQL("ALTER TABLE Account ADD COLUMN Age TEXT;"); } private void upgradeToVersion4(SQLiteDatabase db) { Log.i(TAG, "创建字段-城市City"); db.execSQL("ALTER TABLE Account ADD COLUMN City TEXT;"); }}
第一次安装时数据库版本是: 1数据库版本改为2 覆盖安装数据库版本改为3 覆盖安装数据库版本改为4 覆盖安装I/MyDataBaseOpenHelper: 创建Account表 创建字段User和NameI/MyDataBaseOpenHelper: ------------------------------------------------ 当前安装的版本:1I/MyDataBaseOpenHelper: 创建字段-性别SexI/MyDataBaseOpenHelper: ------------------------------------------------ 当前安装的版本:2I/MyDataBaseOpenHelper: 创建字段-年龄AgeI/MyDataBaseOpenHelper: ------------------------------------------------ 当前安装的版本:3I/MyDataBaseOpenHelper: 创建字段-城市CityI/MyDataBaseOpenHelper: ------------------------------------------------ 当前安装的版本:4第一次安装时数据库版本是: 4I/MyDataBaseOpenHelper: 创建Account表 创建字段User和NameI/MyDataBaseOpenHelper: 创建字段-性别SexI/MyDataBaseOpenHelper: 创建字段-年龄AgeI/MyDataBaseOpenHelper: 创建字段-城市CityI/MyDataBaseOpenHelper: ------------------------------------------------ 当前安装的版本:4
Log打印图片
阅读全文
0 0
- sqlite 数据库升级
- 5、Sqlite数据库升级
- Android SQLite数据库升级
- Android SQLite升级数据库
- Sqlite数据库升级
- Sqlite数据库升级方法
- 升级SQLite数据库
- SQLite如何升级数据库
- SQlite数据库升级
- Android Sqlite 数据库升级
- SQLite数据库升级
- SQLite数据库升级
- IOS sqlite数据库升级操作
- sqlite数据库修改及升级
- Android sqlite数据库升级解决方案
- 升级SQLite数据库最佳写法
- android中sqlite数据库升级
- sqlite数据库自动升级设计
- IT桔子分布式项目1
- Spark Streaming之updateStateByKey和mapWithState比较
- 预定义变量
- Tomcat8.0.7 配置好后tomcat8w无法运行
- Java实训——编写一个窗体程序,能够对文本区中的文字设置字体和大小。
- SQLite数据库升级
- IT桔子分布式项目2
- 解决checkbox全选按钮只生效一次的问题
- 嗯,第一篇csdn博客
- 预定义接口
- XListView+下拉刷新,上拉加载
- Spark Streaming之容错机制以及事务语义
- 反射访问类的私有属性对象的私有方法
- 什么是作用域链