Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在rawQuery()中更新不起作用_Android_Sqlite - Fatal编程技术网

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);