我的sql delete命令使我的db.insert导致崩溃


public void(Budget budget){
SQLiteDatabase db = this.getReadableDatabase();    
db.delete(Budget.table_name, Budget.collum_id,  " = ?",  new String[]{String.valueOf(budget.getId())}
}

您为删除方法提供了错误的参数,正确的语法如下

delete(String table, String whereClause, String[] whereArgs)

如果你对这个语法感到困惑,只需使用

db.execSQL(DELETE FROM table WHERE condition1 AND condition2.....);

通过这种方式更改代码以获取要读取的数据。

public void(Budget budget){
SQLiteDatabase db = this.getWritableDatabase();    
db.delete(Budget.table_name, Budget.collum_id,  " = ?",  new String[]{String.valueOf(budget.getId())
db.close();}
}

更改为:

SQLiteDatabase db = this.getWriteableDatabase();
db.delete(Budget.table_name, Budget.collum_id + " = ?",  new String[]{String.valueOf(budget.getId())}); 

您想要删除而不是从数据库中读取
还更改为

Budget.collum_id + " = ?"

最新更新