我正在使用更新语法获取数据库sqlite异常。我应该在哪里放置引号而不出现错误“无此列”?
//2.create ContentValues to add key "column"/value
ContentValues values = new ContentValues();
values.put("active", _active); //update active flag
//3.updating row
int i = db.update(TABLE_NAME,//table
values,//column/value
COLUMN_UID+"="+_uid,//selections
new String[]{String.valueOf(_uid)});//selectionargs
我的代码产生此错误。我知道_uid变量应包含引号,但这似乎也不正确。
2019-08-12 21:39:19.620 22215-22215 / com.bab_c.picksandbets E / AndroidRuntime:致命异常:main 流程:com.bab_c.picksandbets,PID:22215 android.database.sqlite.SQLiteException:无此类列:bobbyb2222(代码1):,而在编译时:UPDATE pab_pref SET active =? 哪里uid = bobbyb2222
答案 0 :(得分:1)
您无需在变量周围加上引号,只需对参数使用占位符:
head -n 3 MiseqData/result2012/12* | tail -n 1
这是建议的更新方式。
不要使用其他方式,例如直接传递用引号引起来的变量,因为这可能会导致sql injection。