作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Android 上删除 ListView
中的行时遇到问题,我使用的是 SQLite。
这是我删除文件的类(只需要删除数据库中的项目)。
public void deleteCallWhenUploadSuccess(String fileNameWhis)
{
db = callDatabaseHelper.getReadableDatabase();
String where = CallDatabaseHelper.FILE_NAME + "=" + fileNameWhis;
db.delete(CallDatabaseHelper.TABLE_NAME, where, null);
}
在类里面,我呼吁使用它。
dao.deleteCallWhenUploadSuccess(filename);
但它抛出异常:
e: "sqlite.SQLiteException: near "2016": syntax error (code 1):, while compiling:
DELETE FROM recordStatus WHERE fileName=109092 2016-03-17 01.018.03.mp3"
似乎它缺少 "
WHERE "fileName
附近的标记
我尝试添加:
String where = CallDatabaseHelper.FILE_NAME + "="+ "'"'"+ fileNameWhis;
但是错误依然存在。如何传递此错误?并使用DELETE语句删除fileName
的文件,在这种情况下,它在fileName
中有很多空格和特殊字符?
最佳答案
一些事情:
在您的查询中使用 Where 和 WhereArgs:
db = callDatabaseHelper.getWriteableDatabase();
String where = CallDatabaseHelper.FILE_NAME + " = ?";
String [] whereArgs = new String[] {fileNameWhis}
db.delete(CallDatabaseHelper.TABLE_NAME, where, whereArgs);
这是一种更安全的查询方式,可能会解决您的问题。
关于android - 如何在 Android 中删除一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36043973/
我是一名优秀的程序员,十分优秀!