2017-04-25 113 views
1

我想從SQLite表中刪除一行。我看了不同的教程,似乎沒有任何工作。 這是我的方法:如何從Android中的SQLite表中刪除一行

public void deleteNote(int id) { 

} 

'身份證' 是一個行ID。 這就是調用這個方法:

deleteNote.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) 
      { 
       DB.deleteNote(id); 
      } 
     }); 

此外,作爲一個側面說明,我怎麼能去一個不同的方法,一旦該行被刪除?

+0

db.delete(「table_name」,「id =? 「新的String [] {ID}); – Avi

回答

0

在數據庫處理程序類上創建方法。通過傳遞該行的id或其他獨特的東西來調用它。

public boolean deleteNote(int id) 
{ 
    return db.delete(DATABASE_TABLE, KEY_ID + "=" + id, null) > 0; 
} 

這裏,DATABASE_TABLE是你的表的名稱。 KEY_ID是您的表格的id colum名稱。

+0

這是我加: 公共布爾deleteNote(INT ID){ SQLiteDatabase DB = this.getWritableDatabase(); 回報db.delete(notes.notesData.noteTableName ,notes.notesData._ID +「=」 + ID,NULL)> 0;} 但它不工作時,我按下刪除鍵的應用剛剛關閉 – Sea

+0

可以請你把日誌貓'error'。? – Sudarshan

0

它會更好,如果u申報您的ID作爲字符串

,你必須創建一個數據庫處理程序類。在這個類中,你必須添加如下代碼。

public Integer deleteNote(String id){ 
    SQLiteDatabase db=this.getWritableDatabase(); 
    return db.delete(TABLE_NAME,"ID = ?",new String[] {id}); 
} 
0

從我的應用程序

public Integer deleteData (String sub) { 
    SQLiteDatabase db = this.getWritableDatabase(); 
    return db.delete(TABLE_NAME, "SUBJECT = ?",new String[] {sub}); 
} 

該工作代碼,你需要添加類似下面

public Integer deleteData (int id) { 
    SQLiteDatabase db = this.getWritableDatabase(); 
    return db.delete(TABLE_NAME, "<----here your column name---> = ?",new String[] {id}); 
} 

的代碼,如果任何錯誤添加錯誤

0

這是工作的代碼我的應用程序

public void deleteNote(String id) { 
    SQLiteDatabase db = this.getWritableDatabase(); 
    db.delete(TABLE_NAME, KEY_ID + " = ?", 
      new String[] { String.valueOf(id) }); 
    db.close(); 
}