android– 带参数化IN(…)子句的Sqlite UPDATE

android– 带参数化IN(…)子句的Sqlite UPDATE,第1张

概述参见英文答案>INclauseandplaceholders                                    10个在我的应用程序中,我正在使用sqlite数据库–我遇到了一个奇怪的问题.我有一个看起来像这样的表:_idfield1field2status------------

参见英文答案 > 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所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1096957.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存