2017-04-25 52 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(); 
}