Android从本地数据库中删除行

时间:2014-02-24 07:17:12

标签: java android mysql sql eclipse

我正在尝试从本地数据库中删除记录..我可以更新记录但不能删除记录..我没有收到任何错误但仍然没有从本地数据库中删除记录..这是代码..

db.deleteReading(complaintNo);

public void deleteReading(String id) {

    SQLiteDatabase db = this.getWritableDatabase();
    db.delete(TABLE_READINGS, COLUMN_COMPLAINT_NO  +"="+ id, null)  ;  //COLUMN_COMPLAINT_NO is available in my readings table
    db.close();

}

请指导我出错的地方

2 个答案:

答案 0 :(得分:3)

问题是你没有用单引号括起字符串:

db.delete(TABLE_READINGS, COLUMN_COMPLAINT_NO  +"='"+ id + "'", null);

或者您可以使用更常用的方法,并将字符串作为“where arg”传递:

db.delete(TABLE_READINGS, COLUMN_COMPLAINT_NO  +"=?", new String[] {id});

答案 1 :(得分:0)

我认为问题出在您的查询中..

int temp=db.delete(TABLE_READINGS, COLUMN_COMPLAINT_NO  +"="+ id, null)  ;
Log.d("query value",temp);

而不是这个尝试这个

int temp=db.delete(TABLE_READINGS, COLUMN_COMPLAINT_NO  +"='"+ id+"'", null)  ;
///////// print it in logcat
Log.d("query value",temp);