参见英文答案 > IN clause and placeholders 10个
在我的应用程序中,我正在使用sqlite数据库 – 我遇到了一个奇怪的问题.
我有一个看起来像这样的表:
_ID fIEld1 fIEld2 status--- ------ ------ ------ 1 value value ... 2 value value ......
在一个地方,我需要更新一些行以将它们设置为另一个状态,所以我正在尝试
sqliteDatabase db = getWritableDatabase();ContentValues cv = new ContentValues();cv.put("status", STATUS_SENT);Set<Integer> IDs = datasource.getCompletedIDs();String IDparam = TextUtils.join(",", IDs);int cnt = db.update(table_ORDERS, cv, "_ID in (?)", new String[] { IDparam });Log.d("db", "updated " + cnt + " rows");db.close();
但是没有任何更新 – db.update返回0.我缺少什么?
解决方法:
我不乐意推荐不使用参数,但在这种情况下,它实际上比格式化所有这些更容易吗?标记(和普通整数,同样安全):
db.update(table_ORDERS, cv, "_ID IN (" + IDparam + ")", null);
总结 以上是内存溢出为你收集整理的android – 带参数化IN(…)子句的Sqlite UPDATE全部内容,希望文章能够帮你解决android – 带参数化IN(…)子句的Sqlite UPDATE所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)