04_数据库升级onUpgradeondowngrade
如果想操作多個數(shù)據(jù)庫就不要把數(shù)據(jù)庫的名字寫死了
public MyOpenHelper(Context context, String name){//第一個參數(shù)上下文//第二個參數(shù) 數(shù)據(jù)庫的名字 如果傳入null 就是在內(nèi)存中創(chuàng)建一個數(shù)據(jù)庫 內(nèi)存中的數(shù)據(jù)庫在應(yīng)用退出之后 數(shù)據(jù)就會丟失//如果是聊天記錄之類我真正的想給它存起來,下一次再啟動還想用那你就要給它存儲到一個具體的數(shù)據(jù)庫里面。這個名字就一定要傳進來//第三個參數(shù) 游標工廠 如果使用系統(tǒng)默認的游標工廠就傳入null//第四個參數(shù) 數(shù)據(jù)庫的版本號 用版本號來控制數(shù)據(jù)庫的升級和降級 版本號從1開始super(context, "itheima.db", null, 1);// TODO Auto-generated constructor stub}把"itheima.db"用String name代替而不是寫死了就可以操作多個數(shù)據(jù)庫了.如果寫死的話拿到的SQLiteDatabase實際上操作的都是同一個數(shù)據(jù)庫就是這個itheima.db.當數(shù)據(jù)庫文件itheima.db第一次創(chuàng)建的時候,它會走onCreate().一旦我這個數(shù)據(jù)庫文件創(chuàng)建起來之后,再去運行這個項目,這個onCreate()就不會走了.因為它只是當數(shù)據(jù)庫文件第一次創(chuàng)建的時候才會執(zhí)行onCreate().
onCreate()就是當數(shù)據(jù)庫文件第一次創(chuàng)建的時候被執(zhí)行。onCreate()做表結(jié)構(gòu)的初始化也可以丟一些初始化的數(shù)據(jù)。
當數(shù)據(jù)庫升級的時候就會走這個onUpgrade
數(shù)據(jù)庫升級的SQL語句什么時候會被調(diào)用?數(shù)據(jù)庫升級就是版本號增加的時候。
super(context, "itheima.db", null, 2); @Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {第一個參數(shù)SQLiteDatabase執(zhí)行具體的SQL.
轉(zhuǎn)載于:https://www.cnblogs.com/ZHONGZHENHUA/p/7039459.html
總結(jié)
以上是生活随笔為你收集整理的04_数据库升级onUpgradeondowngrade的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SDUT--Pots(二维BFS)
- 下一篇: linux cmake编译源码,linu