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