У меня есть таблица SQL, которая создается с помощью следующего кода:
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + TABLE_NAME + " (" + _ID
+ " INTEGER PRIMARY KEY AUTOINCREMENT, " + SUBJECT
+ " TEXT NOT NULL," + TOPIC + " TEXT NOT NULL, "
+ LECTURENUMBER + " TEXT NOT NULL, " + PAGENUMBER
+ " TEXT NOT NULL, " + DATE + " TEXT NOT NULL, " + _DATA
+ " TEXT NOT NULL);");
}
Я запрашиваю таблицу следующим образом:
String sql = "SELECT " + _ID + "," + SUBJECT + " FROM " + TABLE_NAME
+ " GROUP BY " + SUBJECT + ";";
Cursor cursor = subjects.getReadableDatabase().rawQuery(sql, null);
Проблема в том, что я должен запустить операциюA, если курсор пуст (т. Е. Таблица не содержит значений) и Activity B, если курсор не пуст (т. Е. Таблица заполнена).
Я не могу найти метод, который может сказать мне, еслитаблица пуста или нет.Я пытался использовать журнал следующим образом:
private void showSubjectsOnList() {
String sql = "SELECT " + _ID + "," + SUBJECT + " FROM " + TABLE_NAME
+ " GROUP BY " + SUBJECT + ";";
Cursor cursor = subjects.getReadableDatabase().rawQuery(sql, null);
Log.d("Events",Integer.toString(cursor.getCount()));
if(cursor.isNull(0)!=false){
cursor.close();
subjects.close();
startActivity(new Intent(this,OpenScreen.class));
}
}
Но журнал показывает 1, если таблица пуста ... и снова 1, если таблица имеет 1 запись .... он показывает 2, еслитаблица содержит две записи и т. д.
Можете ли вы предложить какой-нибудь метод решения моей проблемы запуска различных действий, основанный на том, пуст ли курсор или нет.