【发布时间】:2012-02-28 17:49:13
【问题描述】:
我正在使用以下代码从我的 SQLite 表中删除某些行。
if (!cfile.exists()) {// remove invalid db files
database.rawQuery("DELETE FROM "
+ DataBaseHelper.VFS_DATABASE_TABLE + " WHERE "
+ DataBaseHelper.VIRTUAL_SYSTEM_COLUMN_PATH // TODO
// not
// removing
// properly
+ " IS ?", new String[] { pathcursora.getString(0) });
System.out.println("DELETE FROM "
+ DataBaseHelper.VFS_DATABASE_TABLE + " WHERE "
+ DataBaseHelper.VIRTUAL_SYSTEM_COLUMN_PATH
+ " IS "+pathcursora.getString(0));
}
但是这些行没有被删除。下面的堆栈跟踪:
02-28 23:13:27.564: D/NameManager.java(7098): Checking for whatever
02-28 23:13:27.587: I/System.out(7098): 1 : /mnt/sdcard/fsimages87
02-28 23:13:27.587: I/System.out(7098): 2 : /mnt/sdcard/fsimages3
02-28 23:13:27.595: I/System.out(7098): Invalid db entry for /mnt/sdcard/fsimages3 removed.
02-28 23:13:27.595: I/System.out(7098): 3 : /mnt/sdcard/fsimages2
02-28 23:13:27.603: I/System.out(7098): Invalid db entry for /mnt/sdcard/fsimages2 removed.
02-28 23:13:27.603: I/System.out(7098): 4 : /mnt/sdcard/fsimages1
02-28 23:13:27.603: I/System.out(7098): Invalid db entry for /mnt/sdcard/fsimages1 removed.
02-28 23:13:27.603: I/System.out(7098): 5 : /mnt/sdcard/fsimages
02-28 23:13:46.603: D/NameManager.java(7098): Checking for whatever
02-28 23:13:46.618: I/System.out(7098): 1 : /mnt/sdcard/fsimages87
02-28 23:13:46.618: I/System.out(7098): 2 : /mnt/sdcard/fsimages3
02-28 23:13:46.626: I/System.out(7098): Invalid db entry for /mnt/sdcard/fsimages3 removed.
02-28 23:13:46.626: I/System.out(7098): 3 : /mnt/sdcard/fsimages2
02-28 23:13:46.626: I/System.out(7098): Invalid db entry for /mnt/sdcard/fsimages2 removed.
02-28 23:13:46.626: I/System.out(7098): 4 : /mnt/sdcard/fsimages1
02-28 23:13:46.634: I/System.out(7098): Invalid db entry for /mnt/sdcard/fsimages1 removed.
02-28 23:13:46.634: I/System.out(7098): 5 : /mnt/sdcard/fsimages
我在这里做错了什么?
【问题讨论】:
-
回应你的查询语句,看看它的样子
-
@trapper ECHO :
DELETE FROM vs_table WHERE vspath IS /mnt/sdcard/fsimages1
标签: java android sql database sqlite