У меня есть база данных SQLite в моем приложении Android, которая содержит несколько записей имени пользователя/пароля, этот контент помещается в ListView.Обновление поля ID в базе данных SQLite при удалении записи
То, что я хотел бы достичь, это когда элемент сжимается, он удаляется из списка, но я столкнулся с проблемой.
Я использую следующий код, чтобы удалить запись из базы данных:
public void deleteEntry(int ID) {
SQLiteDatabase db = this.getWritableDatabase();
db.delete(TABLE_LOGINS, KEY_ID + " = ?",
new String[]{Integer.toString(ID)});
db.close();
}
Данные хранятся в базе данных следующим образом:
--------------------------
1|server|username|password
2|server|username|password
3|server|username|password
4|server|username|password
--------------------------
Теперь, если я должен был отметить запись # 2 для удаления, я в конечном итоге получаю следующее:
--------------------------
1|server|username|password
3|server|username|password
4|server|username|password
--------------------------
Что вызывает проблемы, другие записи, так как я все свои поиски использую в первом поле. Используя позицию из моего OnItemLongClickListener, если бы я должен был нажать второй элемент в списке, он бы искал элемент с идентификатором 2.
Как обновить записи в моей базе данных, чтобы мое поле ID быть последовательно пронумерованы? Есть ли лучшая альтернатива использованию поля идентификатора?
Каким образом данные отображаются в списке? Я имею в виду, вы его сортируете в любом случае? –
Почему вы используете позицию, а не идентификатор? –
@TeChNo_DeViL Я показываю его в том порядке, в котором я его получаю из базы данных – keag