如果表格不存在或表格内容为空,我想显示一个警告框。
要检查表是否为空,我正在使用:
cCheckDB = db.rawQuery("SELECT COUNT(*) FROM " + MainActivity.TABLE_NAME +"", null);
if (cCheckDB != null) {
cCheckDB.moveToFirst();
if (cCheckDB.getInt (0) == 0) {
// EMPTY
}
}
但是如何将其包装在“如果表存在”中?什么是最好的方法?
我知道检查表是否存在或检查表中是否有内容的两种方法。但我想以一种有意义的方式使用检查,而不是在可能的情况下使用单个查询 - 这是我的问题。
最佳答案
希望对你有所帮助。 运行良好!!!
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;
}
关于带有 Sqlite 的 Android - 如何检查表是否存在以及是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37268663/