删除记录时Android崩溃

时间:2013-10-08 09:31:51

标签: android sqlite crash

在SQLite表中。我有一个字符串列表,我看到列表视图中的按钮我删除了每个记录。

但是,如果例如在书面记录和单词“caffè”中一切正常,但如果写的是“caffe”这个词,应用程序崩溃的原因是什么? 感谢

String nome = tv.getText().toString();
            SQLiteDatabase db = mHelper.getWritableDatabase();
            db.delete(NomeTable.TABLE_NAME, NomeTable.NOME_CAT + "='" + nome_cat + "'", null);
            db.close();
            finish();

2 个答案:

答案 0 :(得分:1)

这是因为'是SQL中的特殊字符。

所以你最终得到的='caffe''由于双倍''而无效。

您也希望使用whereArgs参数。

db.delete(NomeTable.TABLE_NAME, NomeTable.NOME_CAT + "= ?", new String[]{nome_cat});

这将为你逃脱你的角色,不应该把你弄乱你。

答案 1 :(得分:0)

我认为nome_cat包含SQL语法不允许的一些符号。您可能希望使用SQLiteQueryBuilder来构建查询。