在我的数据库中,收件箱表的列名为路径,以保留文件的路径,但当我尝试在路径的基础上删除该记录时,会抛出FATAL异常通过模拟器。
// Deleting single File
public void deleteFile(File file) {
SQLiteDatabase db = this.getWritableDatabase();
db.delete(TABLE_INBOX, KEY_PATH + " = "+file.getPath(),null);
db.close();
}
例外是:
FATAL EXCEPTION:main
android.database.sqlite.SQLiteExceprion: unrecognized token:"1kbFile"(code 1):,while compiling :DELETE inbox WHERE path=1kbFile.txt.
1kbFile.txt 是我要删除的路径,已保存在db中。 我怎么能解决这个问题?
答案 0 :(得分:1)
尝试将'
添加到您的文件名中,如下所示:
db.delete(TABLE_INBOX, KEY_PATH + " = '" + file.getPath() + "'", null);
或者您也可以尝试使用单独的参数:
String whereString = KEY_PATH + " = ?";
String[] whereArgs = new String[] {file.getPath()};
db.delete(TABLE_INBOX, whereString, whereArgs);
答案 1 :(得分:0)
在值周围使用'。 E.g:
db.delete(TABLE_INBOX, KEY_PATH + " = '"+file.getPath()+"'",null);