【发布时间】:2019-12-29 08:25:01
【问题描述】:
我正在尝试使用多个 IN 值触发查询,但在 sqlite open helper rawQuery() 中绑定参数
静态查询
SELECT * FROM invoices WHERE inIdUser IN (2,4,5)
但想这样做
String query = "SELECT * FROM invoices WHERE inIdUser IN (?)";
Cursor c = getWritableDatabase().rawQuery(query, new String[]{"2,4,5"};
它不显示结果,也没有任何错误出现 但是如果我只传递一个值,比如
Cursor c = getWritableDatabase().rawQuery(query, new String[]{"2"});
然后工作
【问题讨论】:
-
WHERE IN子句中是否总是只有三个值? -
不,先生,这只是一个例子,它会有不同的值
-
inIdUser列是否包含 单个 数值,还是包含 CSV? -
SELECT * FROM invoices WHERE inIdUser IN (?,?,?)然后将每个参数绑定到一个数字。
标签: android database sqlite android-sqlite sqliteopenhelper