由於某種原因,我無法從我的數據庫中刪除。我試圖比較數據庫中的_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 2012-04-25 18:05:37
不,沒有錯誤,當我輸入與數據庫中的ID號相匹配的數字時,數據庫中沒有任何事發生 – a7omiton 2012-04-25 18:08:21
發佈您的表創建語句。 – JoxTraex 2012-04-25 18:11:30