Я не могу удалить из своей базы данных по какой-либо причине. Я пытаюсь сравнить значение _ID в базе данных с одним, введенным пользователем в поле EditText, и если оно соответствует, оно должно удалить всю строку.Удаление из базы данных sqlite - Android
Это то, что я получил до сих пор:
private static String[] DELETION = {_ID, TITLE, TIME, DETAILS};
private Cursor delete(){
calendarData = new CalendarData(this);
SQLiteDatabase db = calendarData.getWritableDatabase();
Cursor idToDelete = db.query(true, TABLE_NAME, DELETION, _ID+" = "+deleteAnAppointment.getText(),
null, null, null, null, null);
startManagingCursor(idToDelete);
return idToDelete;
}
private void selectToDelete(Cursor cursor){
calendarData = new CalendarData(this);
SQLiteDatabase db = calendarData.getWritableDatabase();
if(cursor.moveToNext()){
db.delete(TABLE_NAME, _ID+" = "+deleteAnAppointment.getText(), null);
}
}
Пожалуйста, любая помощь будет оценена, мой EditText устанавливается тип ввода на номер
редактировать: просто чтобы сделать это, может быть, немного больше ясно, я звоню эти методы в OnClick для кнопки, как это:
Cursor toDelete = delete();
selectToDelete(toDelete);
Edit (2): создание Таблица
@Override
public void onCreate(SQLiteDatabase db){
db.execSQL("CREATE TABLE " + TABLE_NAME + " (" + _ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
DATE + " LONG, " +
TITLE + " TEXT NOT NULL, " + TIME + " TEXT NOT NULL," + DETAILS + " TEXT NOT NULL);");
}
Edit (3): Я попробовал это, а также простой подход, но до сих пор ничего:
private void deleteAppointment(){
calendarData = new CalendarData(this);
SQLiteDatabase db = calendarData.getWritableDatabase();
db.delete(TABLE_NAME, _ID+" = "+deleteAnAppointment.getText(), null);
}
Вы получаете ошибки? – zapl
нет, никаких ошибок, просто ничего не происходит в базе данных при вводе числа, которое соответствует идентификационному номеру в базе данных. – a7omiton
Опубликуйте заявление о создании таблицы. – JoxTraex