Как проверить значение записи в базе данных с помощью курсора? - PullRequest
0 голосов
/ 21 октября 2011

Я хочу проверить значение содержимого базы данных с помощью курсора. Я могу получить содержимое базы данных, но не могу правильно проверить, существуют ли данные, которые я хочу добавить, уже в базе данных.

Вот фрагмент моего кода.

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);" ); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...