В настоящее время я работаю над своей оценкой A Level Computer Science Controlled Assessment, создавая приложение Scout Manager для Android Studio, Java и XML, ни одно из которых я не использовал ранее. Сейчас я на последнем отрезке, но я столкнулся с ошибкой, которую, похоже, не могу решить.
Я пытаюсь удалить запись сеанса из таблицы событий. Раньше это прекрасно работало, однако по какой-то причине, несмотря на отсутствие изменений в коде (что я помню, во всяком случае), оно больше не работает.
Вот код из действия «Редактировать событие»:
//Deletes the event from the database
public void deleteEvent(View view)
{
boolean result=DatabaseHandler.deleteSession(sessionid);
if (result==true)
{
Toast.makeText(
context,
"Event Deleted",
Toast.LENGTH_SHORT
).show();
backToProgramme(view);
}
else
{
Toast.makeText(
context,
"Error - please try again",
Toast.LENGTH_SHORT
).show();
}
}
А вот и код из базы данных Handler:
//Deleting a session in the events table
public boolean deleteSession(int id)
{
boolean result = false;
String query = "SELECT * FROM " + TABLE_EVENTS + " WHERE " + COLUMN_SEID + " = '"
+ String.valueOf(id) + "'";
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(query, null);
sessionDetails session = new sessionDetails();
if (cursor.moveToFirst())
{
session.setSessionID(Integer.parseInt(cursor.getString(0)));
db.delete (TABLE_EVENTS, COLUMN_SCID + "=?", new String[]{String.valueOf(
session.getSessionID())});
cursor.close();
result = true;
}
return result;
}
Я вообще не могу понять, почему это не удаляет запись.