2011-06-21 25 views
6

Android'de bir veritabanının olup olmadığını hızlı bir şekilde nasıl kontrol edebilirim?Android - SQLite Veritabanı Var mı?

(bir Tablo - tüm veritabanı)

+0

Lütfen bu belgeyi kontrol edin [1]. Size yardımcı olabilir. [1]: http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/ – Nikhil

+0

Bu çok yaygın bir sorundur. Lütfen aşağıdaki bağlantıyı kontrol edin. Bence bu size yardımcı olacak. http://www.itsalif.info/content/check-if-database-exist-android-sqlite3openv2-failed –

cevap

5

veritabanını açın ve veritabanı yoksa durumunda atılacaktır SQLitException yakalamak. Not openOrCreateDatabase() yöntemini çağırmamalısınız. Ayrıntılar için bu gönderiye bakınız; Query if Android database exists!

2

Veritabanınızın var olup olmadığını kontrol etmenin yolu üzerinde bir dosya tanıtıcısı açmak ve dosyanın olup olmadığını görmek. "openOrCreateDatabase()" işlevini kullanma deneyimimden, db yoksa bir hata atmayacaktır. "Open VEYA Veritabanı Oluştur" a bakın. Açmak için bir db yoksa, sadece yeni bir tane yapacağız, yani şimdi bir tane var olsaydı, artık bir tane var. Atılan bir hatayı alacağın tek zaman, eğer yapamazsa. Adamın test etmeyi denediğimi söylemediğini söylediği şeyden bence, programın db'nin elden önce var olup olmadığını bilmesini istedi ve eğer olmasaydı, otomatik olarak boş bir tane oluşturmamaya çalıştı. . böylece tüm db'ler dosya olarak depolandığından, bu açık veritabanı komutundaki ilk parametre dosya adıdır. Bu yüzden en iyi seçenek db dosyasının var olup olmadığını kontrol etmektir:

File dbtest = new File("/data/data/yourpackagename/databases/dbfilename"); 

//If you have Context, you could get the Database file using the following syntax 
//File dbtest = getApplicationContext().getDatabasePath("dbfilename.db"); 


if(dbtest.exists()) 
{ 
    // what to do if it does exist  
} 
else 
{ 
    // what to do if it doesn't exist 
} 
+0

olmalıdır: eğer (dbtest.exist()) ... mantığınız doğru değil –

+0

iyi yakalamak, ben Bunu düzelttim. –

İlgili konular