何らかの理由でデータベースからの削除ができません。データベースの_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);
編集(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);");
}
編集(3):私はあなたの問題を参照してください
private void deleteAppointment(){
calendarData = new CalendarData(this);
SQLiteDatabase db = calendarData.getWritableDatabase();
db.delete(TABLE_NAME, _ID+" = "+deleteAnAppointment.getText(), null);
}
エラーが発生しますか? – zapl
いいえ、エラーはありません。データベースのID番号に一致する番号を入力すると、データベースに何も起こりません。 – a7omiton
テーブル作成ステートメントをポストします。 – JoxTraex