Я хочу проверить значение содержимого базы данных с помощью курсора. Я могу получить содержимое базы данных, но не могу правильно проверить, существуют ли данные, которые я хочу добавить, уже в базе данных.
Вот фрагмент моего кода.
for(int i=1;i<=cursor.getCount();i++){
Cursor cursor = adapter.fetchAllQRurl();
cursor.moveToFirst();
if (!(contents.equals(cursor.getString(i)))){
adapter.addQRUrl(contents);
}
else{
Log.d("SAME ENTRY", "the url already exists");
}
cursor.moveToNext();
}
}
Я использовал цикл for, чтобы проверить все записи в базе данных. Кажется, я не понимаю правильные значения. значение cursor.getString (i), по-видимому, неверно. когда я жестко закодировал значение i, например cursor.getString (1), он проверяет только первую запись в базе данных. но если «i» является значением для columnIndex, я получаю исключение.
Что может быть причиной этого? спасибо.
Мой код правильный?
Вот как я создал свою таблицу:
db.execSQL("CREATE TABLE " + QRCODE_LINK + "(" + VidCallDbAdapter.KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + VidCallDbAdapter.QRLINK + " text, " + VidCallDbAdapter.KEY_INHISTORY + " text not null);" );