从Android中的sqlite删除记录期间的FATAl异常?

时间:2013-09-08 19:41:39

标签: android sqlite android-sqlite

在我的数据库中,收件箱表的列名为路径,以保留文件的路径,但当我尝试在路径的基础上删除该记录时,会抛出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中。 我怎么能解决这个问题?

2 个答案:

答案 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);