-2
我试图更新SQLite表中的某一行,但它不起作用。无法更新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:UPDATE标记SET状态= 0 WHERE ID = 1;
W/SQLiteConnectionPool:数据库'/data/data/com.matejhacin.travelbuddy/databases/TravelBuddy'的SQLiteConnection对象被泄露!请修复您的应用程序以正确结束正在进行的事务,并在不再需要时关闭数据库。
我不明白,因为你可以看到,我正在关闭数据库,它不应该泄漏。
和SQL结构正确(查看日志输出第一行)
的应用程序不会崩溃或aynthing,它只是没有在我的SQLite表更改行。
Logcat本身表示在不再需要数据库时正确关闭数据库。 –