Android 在rawQuery()中更新不起作用
我正在更新我的数据库,但它不工作。 这是我的代码:Android 在rawQuery()中更新不起作用,android,sqlite,Android,Sqlite,我正在更新我的数据库,但它不工作。 这是我的代码: list.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { MeusVeiculosLista mVeiculo = (MeusVeicu
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
MeusVeiculosLista mVeiculo = (MeusVeiculosLista) adapter.getItem(position);
VeiculosDAO veiculo = new VeiculosDAO(TrocaVeiculoActivity.this);
veiculo.open();
veiculo.atualizaAtivo();
adapter.notifyDataSetChanged();
veiculo.close();
}
});
我正在使用lita进行测试,当我做声明时,它可以工作,但在手机中不起作用。rawQuery在android中不起更新作用。对于此问题,您必须使用
SQLiteDatabase.Update
方法,如下所示:
ContentValues cv = new ContentValues();
cv.put("ativo", 0);
mDb.update("tb_veiculo", cv, null, null);
我必须把完整的对象放在内容值中还是只放在我想更新的列中?欢迎@Roland。如果您想在更新方法中使用where子句,可以使用第三个和第四个参数。对,您可能还想使用beginTransaction()和endTransaction()在DB事务中进行更新-请参阅hey@drorw上的惯用示例!代码中的catch异常语句在哪里?@MajidDaeiNejad-没有catch语句。try最终确保我们将结束事务,即使try块中出现未检查的异常或运行时异常。关闭或释放“finally”块中的资源是一个很好的做法
ContentValues cv = new ContentValues();
cv.put("ativo", 0);
mDb.update("tb_veiculo", cv, null, null);