我使用SQLdelight来创建sql代码,比如
SELECT * FROM CoachService WHERE shop_id in (?) and brand_id = ?我的问题是:
briteDatabase.createQuery(CoachService.TABLE_NAME, CoachService.GETBYBRANDIDANDSHOPS, "'1','5','11'","2");但是结果是空的。然后,我将sqlcode更改为
SELECT * FROM CoachService WHERE shop_id in ('1','5','11') and brand_id = ?它返回3个结果。为什么?
发布于 2016-10-13 12:09:25
当你传入一个查询参数时,它会被android绑定转换成一个字符串。因此,当您传入"'1','5','11'","2"时,它在查询中显示为
SELECT * FROM CoachService WHERE shop_id in (''1','5','11'') and brand_id = ?
或者像这样,其中'1','5','11‘实际上是一个完整的字符串。
https://stackoverflow.com/questions/40011914
复制相似问题