Android db.update where string

时间:2013-11-15 23:04:27

标签: android sqlite

我正在使用db.update方法根据id更新数据。

现在我想同时更改另一个表中存在的相同数据。但是代码的第二部分不起作用....你有什么想法吗?

    cv.put(CategorieTable.NOME_CATEGORIA, Ecatgoria.getText().toString());
            String idc = id.getText().toString();
            SQLiteDatabase db = mHelper.getWritableDatabase();
            db.update(CategorieTable.TABLE_NAME, cv, idc + "=" + CategorieTable._ID, null);

            //THE SECOND PART

            cv.put(GiornateTable.CATEGORIA, Ecatgoria.getText().toString());
            String nCategoria = Ecatgoria.getText().toString();
            db.update(GiornateTable.TABLE_NAME, cv, nCategoria + "=" + GiornateTable.CATEGORIA, null);

1 个答案:

答案 0 :(得分:0)

您正在为两个操作使用相同的ContentValues实例(cv)。在第二部分,您需要在放入新值之前调用cv.clear()。

        cv.put(CategorieTable.NOME_CATEGORIA, Ecatgoria.getText().toString());
        String idc = id.getText().toString();
        SQLiteDatabase db = mHelper.getWritableDatabase();
        db.update(CategorieTable.TABLE_NAME, cv, idc + "=" + CategorieTable._ID, null);

        //THE SECOND PART

        cv.clear(); // Clean the Content Values.
        cv.put(GiornateTable.CATEGORIA, Ecatgoria.getText().toString());
        String nCategoria = Ecatgoria.getText().toString();
        db.update(GiornateTable.TABLE_NAME, cv, nCategoria + "=" + GiornateTable.CATEGORIA, null);