关于SQLBrite和SQLdelight的createQuery使用问题

时间:2016-10-13 03:38:57

标签: android sqlbrite sqldelight

我使用SQLdelight创建sql代码,比如

briteDatabase.createQuery(CoachService.TABLE_NAME, CoachService.GETBYBRANDIDANDSHOPS,  "'1','5','11'","2");

我查询赞:

SELECT * FROM CoachService WHERE shop_id in ('1','5','11') and brand_id = ?

但结果为空。 然后,我改变像

这样的sqlcode
prealloc

它返回3个结果。     为什么呢?

1 个答案:

答案 0 :(得分:0)

当你传入一个查询参数时,它会被android绑定变成一个字符串。因此,当您传入"'1','5','11'","2"时,它会在查询中显示为

SELECT * FROM CoachService WHERE shop_id in (''1','5','11'') and brand_id = ?

或类似的东西,其中' 1',' 5'' 11'实际上是整个字符串。