3 回答

TA贡献1942条经验 获得超3个赞
此行生成语法错误的 sql 语句:
String selection=DbContract.NAME+"LIKE?";
如果将类似“Bob”的值作为参数传递,则结果将为:
(而不是 ),并将被视为列名。nameLIKEBob
name LIKE 'Bob'
nameLIKEBob
您需要像这样插入空格:
String selection=DbContract.NAME+" LIKE ?";

TA贡献1871条经验 获得超8个赞
我遇到了同样的问题,但它是从表中删除一列,所以当我更改它时
db.delete(cons.tableNames[3], Cart.KEY_f+"=$valueToChange", null)
为此
db.delete(cons.tableNames[3], Cart.KEY_f + " LIKE '%" + valueToChange + "%' ", null)
我像这样做更新
fun updateCart(id: Int, mBusiness: Business) {
val db = dbHelper.writableDatabase
// New value for one column
val valueToChange = mBusiness.e
val values = ContentValues().apply {
put(Business.KEY_e, valueToChange)
}
db.update(cons.tableNames[p.mReturnIntSP(meuContexto, cons.tablePosition)], values, "id=$id", null)
db.close() // Closing database connection
}
添加回答
举报