av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

Android中能不能判斷一個數(shù)據(jù)庫是create來的,還是open來的?

瀏覽:165日期:2024-09-08 16:40:40

問題描述

先簡單說一下我想實現(xiàn)的功能,就是創(chuàng)建數(shù)據(jù)庫的時候,同時也會創(chuàng)建一個表,然后就往表里插入數(shù)據(jù);之后,就是打開數(shù)據(jù)庫,然后對表的數(shù)據(jù)進(jìn)行更新。所以我想知道這個數(shù)據(jù)庫是創(chuàng)建來的,還是打開來的,好讓我執(zhí)行不同的操作。而我創(chuàng)建數(shù)據(jù)庫的方法是繼承SQLiteOpenHelper類和實現(xiàn)getWritableDatabase方法。具體如下圖:Android中能不能判斷一個數(shù)據(jù)庫是create來的,還是open來的?Android中能不能判斷一個數(shù)據(jù)庫是create來的,還是open來的?

這樣的話,我就打算判斷這個mSqLiteDatabase(這是SQLiteDatabase的一個實例對象,截圖沒放出來)是創(chuàng)建來的,還是打開來的。因為我看文檔里說,上圖的方法是:存在該數(shù)據(jù)庫就打開,不存在就創(chuàng)建。而getWritableDatabase方法是返回一個數(shù)據(jù)庫的對象。所以我就這樣瞎想,不知道可不可以判斷。如果不行的話,有沒有其它可替代的方法。

問題解答

回答1:

按你的需求來說,其實不用管它是新建的還是打開的吧,打開后查詢下有沒數(shù)據(jù),有就更新,沒有就新建。

回答2:

只要在DatabaseHelper的onCreate(SQLiteDatabase)方法里創(chuàng)建表就好了呀。數(shù)據(jù)庫在第一次創(chuàng)建的時候就會調(diào)用這個方法的。之后你就只要插入數(shù)據(jù)就行了

回答3:

我一直用xutils操作數(shù)據(jù)庫,這個對數(shù)據(jù)庫封裝的很好,也很簡單。里面有個db.openorupdate方法,會自動對比數(shù)據(jù),確定打開或更新。

如果用android原生的方法,也沒必要判斷,你只需要確認(rèn)是否有新數(shù)據(jù),有的話就插入就好了

回答4:

只有在第一次打開數(shù)據(jù)庫的時候才會調(diào)用onCreate,這時候你創(chuàng)建表就行了,下一次打開的話不會再調(diào)用onCreate了。

回答5:

首先非常感謝各位的解答,根據(jù)xiluoduyu的回答,的確能夠?qū)崿F(xiàn)我想要的功能,換一下思路想,的確可以。但我在提這個問題的過程中發(fā)現(xiàn),標(biāo)題中所描述的問題其實也是我想知道,想弄明白的??赡苓@個問題比較奇葩,甚至是沒有答案的,所以先作個記錄,以后再回來瞧瞧。感謝各位!

主站蜘蛛池模板: 亚洲一区播放 | 国产在线观看网站 | 欧美aⅴ在线观看 | 久久久美女 | 丝袜 亚洲 另类 欧美 综合 | 神马久久久久久久久久 | 久久av网 | 国产精品久久午夜夜伦鲁鲁 | 久久久91精品国产一区二区三区 | 欧美一级久久 | 天堂在线www | 91资源在线 | 黄视频国产 | 免费观看一级视频 | 日本五月婷婷 | 免费1区2区3区 | 一二区视频 | 亚洲国产精品99久久久久久久久 | 精品欧美一区二区三区久久久 | 天天天操操操 | 国产精品美女久久久久久免费 | 国产真实乱对白精彩久久小说 | yiren22 亚洲综合 | 欧美在线视频一区 | 草久久久| 亚洲精品欧美一区二区三区 | 亚洲va中文字幕 | 一级黄色片网站 | 2019天天干天天操 | 91精品国产综合久久久久久蜜臀 | 精品久久久久久一区二区 | 一区二区成人 | 一区二区三区国产 | 99精品欧美一区二区三区综合在线 | 国产精品国产三级国产aⅴ无密码 | 午夜av一区二区 | 福利片在线观看 | 亚洲一区中文字幕 | 欧美黄色一区 | 拍真实国产伦偷精品 | 亚洲成人毛片 |