Здравствуйте. Есть бд в которой лежат записи адресов сайтов, паролей и еще одной штуки. Нужно получить эту штуку если запись с адресом и паролем имеется. Если нет - получить пустую строку. Написал метод
public String getSave(String url, String key) {
String[] columns = { Database.URL, Database.KEY, Database.SAVE};
String selection = Database.URL + " =?" + " AND " + Database.KEY + " =?";
String[] selectionArgs = { url, key };
Cursor cursor = db.query("save", columns, selection, selectionArgs, null, null, null, "1");
String save;
if(!cursor.moveToFirst()){
save = cursor.getString(cursor.getColumnIndex(Database.SAVE);
cursor.close();
}
else save = "";
return save;
}
Передаю в метод ссылку и пароль. Если записи с такими данными есть, то беру значение из Database.SAVE
, если нет - пустая строка. Что не так то? Еще и лог странный
CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
У вас возвращается пустой курсор. При этом неправильно указано условие в if
из-за чего код не соответствует описанию.
Cursor.moveToFirst возвращает false если данных нет. Ваш код в этом случае пытается получить значение.
Скорее всего, должно быть наоборот:
if(cursor.moveToFirst()) {
save = cursor.getString(cursor.getColumnIndex(Database.SAVE);
} else {
save = "";
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Добрый день! Делаю composite component на jsf с использованием primefacesМой компонент:
Нужно сделать ленивую загрузку для объектов, не вызывая orghibernate
field должен быть добавлен в объект класса JWindow или JFrame, которому необходимо задать границы и включить видимостьСама по себе JPanel отрисовываться...