关于数据库更新的有关问题
关于数据库更新的问题
这是我写的DBHelper的类的构造方法 上面我写的version是3 之前没更新数据库的时候是2
现在的问题是我每次打开程序都会执行
这个方法 我用re打开我的程序的数据 查看我的db文件 发现更改了数据 但是版本号没更改 因为我调试 每次都执行onUpgrade 这个方法 而且没有报错
现在的问题是:
1.为什么执行onUpgrade成功那个后没有更改db文件的版本号?
2.为什么我卸载了程序重新装上还是会执行onUpgrade方法?
在onUpgrade 这个方法中我是有这个判断的 if(arg1 == 2) { } 也就是说这个2不知道从哪里来
------解决方案--------------------
在onUpgrade()方法中,要先删掉已有的表,然后新建表。最后调用onCreate()方法。
------解决方案--------------------
我按lz说的试了一下,onUpgrade()里没写东西,只打了log,更新version正常的,重装也没有再upgrade过。
帮顶下
- Java code
public DBHelper(Context context) { super(context, DB_NAME, null, 3); }
这是我写的DBHelper的类的构造方法 上面我写的version是3 之前没更新数据库的时候是2
现在的问题是我每次打开程序都会执行
- Java code
@Override public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) { }
这个方法 我用re打开我的程序的数据 查看我的db文件 发现更改了数据 但是版本号没更改 因为我调试 每次都执行onUpgrade 这个方法 而且没有报错
现在的问题是:
1.为什么执行onUpgrade成功那个后没有更改db文件的版本号?
2.为什么我卸载了程序重新装上还是会执行onUpgrade方法?
在onUpgrade 这个方法中我是有这个判断的 if(arg1 == 2) { } 也就是说这个2不知道从哪里来
------解决方案--------------------
在onUpgrade()方法中,要先删掉已有的表,然后新建表。最后调用onCreate()方法。
------解决方案--------------------
我按lz说的试了一下,onUpgrade()里没写东西,只打了log,更新version正常的,重装也没有再upgrade过。
帮顶下