您好,在我的数据库中,我有一个像“计算机”的字符串,我从数据库中获取它并显示listview,当我点击列表项时,它应该存储到我的数据库表之一。我正在做如下,但它正在崩溃
public void updateFav(String key, int value) {
SQLiteDatabase db = mDbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
C_FAV=C_FAV.replaceAll("'","''");
values.put(C_FAV, value);
db.update(tableName, values, C_KEY + "='" + key.trim() + "'", null);
db.close();
}
以下是我的追踪
12-12 17:55:49.291: E/AndroidRuntime(18184): android.database.sqlite.SQLiteException: near "s":
syntax error (code 1): , while compiling: UPDATE fav SET favorite=? WHERE key='computer's'
答案 0 :(得分:2)
您正在C_FAV
中转义撇号,这似乎是列名但不在key
中。
考虑使用?
占位符和绑定参数,例如
db.update(tableName, values, C_KEY + "=?", new String[] { key.trim() });