更新查询不使用Android上的SQLite更新列

时间:2015-05-23 10:10:20

标签: android sqlite

在我的应用程序中,当活动被销毁时,我想将列值更新为0.为此我编写了查询,但似乎不适合我,因为当我启动应用程序时,我得到相同的旧价值观。

代码

public void resetSelectOptions() {

    database = DatabaseManager.getInstance().openDatabase();
    String query = "Update " + TableName + " SET " + Selected_Option + "=0";

    try {
        database.rawQuery(query, null);
    }
    catch (SQLiteException e) {

    }
    DatabaseManager.getInstance().closeDatabase();
}

如何解决此问题?

3 个答案:

答案 0 :(得分:0)

rawQuery()仅执行查询(SELECT) 对于任何其他SQL 命令,请使用execSQL()

所以,只需转换此

即可
database.rawQuery(query, null);

到这个

database.execSQL(query, null);

答案 1 :(得分:0)

  

使用此方法更新行 database.update()和   rawQuery用于选择查询。

答案 2 :(得分:-1)

rawQuery()方法只执行SELECT查询是不正确的,但它没有必要将它用于更新,因为你没有任何结果 - 要迭代什么结果Cursor结束,所以尝试使用execSQL()方法。有关详细信息,请查看此SO问题android.database.sqlite.SQLiteDatabase.rawQuery() is not updating a DATETIME column with a SQLite datetime() function