なんらかの理由でデータベースから削除できません。データベースの_ID値を、ユーザーがEditTextボックスに入力した値と比較しようとしています。一致する場合は、行全体を削除する必要があります。
これは私がこれまでに得たものです:
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);
}