Nasıl bir tabloya Android SQLite veritabanı içinde olup olmadığını kontrol eder?
Ben bir android uygulaması ihtiyaçları için onay varsa zaten bir kayıt veritabanı, ve değilse, süreç bazı şeyler ve sonunda takın, ve sadece okuma verileri veritabanından verileri var. Ben kullanarak bir alt SQLiteOpenHelper oluşturmak ve bir yeniden yazılabilir örneği SQLiteDatabase, düşündüm otomatik olarak ilgilendi oluşturma tablo ise yaramadı zaten var (beri kod da bunu mu onCreate(...) yöntem).
Ancak, ne zaman bir masa DEĞİL, henüz var olmayan ve ilk yöntem koştu üzerine SQLiteDatabase nesnesi var. bir arama sorgusu(...), benim logcat gösterir bir hata "I/Veritabanı(26434): sqlite döndü: hata kodu = 1, msg = böyle bir tablo: Application Data", ve emin yeterli, Application Data tablo değil varlık yarattı.
Neden herhangi bir fikir?
Aradığım da bir yöntem için test tablo var (çünkü eğer değil, verilerin kesinlikle değil, ve okumak kadar yazmak için, hangi görünüyor tablo oluşturmak için düzgün), ya da bir şekilde emin olmak için alır yarattı, ve sadece boş zaman için İlk Çağrı için sorgu(...)
EDİT
CEVAP
Şunu deneyin:
public boolean isTableExists(String tableName, boolean openDb) {
if(openDb) {
if(mDatabase == null || !mDatabase.isOpen()) {
mDatabase = getReadableDatabase();
}
if(!mDatabase.isReadOnly()) {
mDatabase.close();
mDatabase = getReadableDatabase();
}
}
Cursor cursor = mDatabase.rawQuery("select DISTINCT tbl_name from sqlite_master where tbl_name = '" tableName "'", null);
if(cursor!=null) {
if(cursor.getCount()>0) {
cursor.close();
return true;
}
cursor.close();
}
return false;
}
Nasıl bir veritabanı SQL Server içinde...
Nasıl bir Görünüm bir Veritabanı içind...
Nasıl bir hizmet Android üzerinde çalı...
Nasıl bir tablo var olup olmadığını SQ...
Nasıl bir Kısıtlama Sql server içinde ...