Android Can';t更新SQLite表中的一行

Android Can';t更新SQLite表中的一行,android,database,sqlite,Android,Database,Sqlite,我试图更新SQLite表中的某一行,但它就是不起作用 以下是更新它的方法: public void setMarkerDone(DestinationMarker destinationMarker) { String query = "UPDATE " + DatabaseManager.MARKER_TABLE_NAME + " SET " + DatabaseManager.MARKER_STATUS + "

我试图更新SQLite表中的某一行,但它就是不起作用

以下是更新它的方法:

public void setMarkerDone(DestinationMarker destinationMarker) {
    String query = "UPDATE " + DatabaseManager.MARKER_TABLE_NAME
            + " SET " + DatabaseManager.MARKER_STATUS + "=" + DatabaseManager.MARKER_STATUS_INACTIVE
            + " WHERE " + DatabaseManager.MARKER_ID + "=" + destinationMarker.getId() + ";";
    Log.i("TAG", query);
    open();
    sqLiteDatabase.rawQuery(query, null);
    close();
}
这是我调用此方法时的日志输出:

I/TAG﹕ 更新标记集状态=0,其中id=1

W/SQLiteConnectionPool﹕ 数据库“/data/data/com.matejhacin.travelbuddy/databases/travelbuddy”的SQLiteConnection对象泄漏!请修复应用程序以正确结束正在进行的事务,并在不再需要时关闭数据库

我不明白,因为正如你所看到的,我正在关闭数据库,它不应该泄漏

并且SQL的格式正确(参见日志输出第一行)

应用程序没有崩溃或发生任何事情,只是没有更改我的SQLite表中的行。

使用
execSQL()
而不是
rawQuery()
进行
更新
查询

rawQuery()
只编译SQL而不运行它。当返回的
光标移动时,它会逐步运行


execSQL()
编译并运行SQL。

Logcat本身会在不再需要时正确关闭数据库。