SELECT * FROM <TableName> WHERE <attribute(id)> IN <ArrayList type>
但是错误
04-24 21:18:41.748: ERROR /错误(29495): android.database.sqlite.SQLiteException: 没有这样的表:1 :,编译时: SELECT * FROM Main WHERE id IN [1]
基本上我想选择那些存在于ArrayList中的具有Attribute(id)的行... 但是ArrayList的格式与此类查询的格式不同(我猜) 我认为这就是原因,它没有正常工作
如果我用以下方式查询:
SELECT * FROM <TableName> WHERE <attribute(id)> IN <Integer>
它向我展示了正确的结果......但是它只选择了特定的id行......
注意:ArrayList被替换为Integer ...(这是我的属性(id)的数据类型)
提前致谢:)
答案 0 :(得分:1)
没有IN <ArrayList type>
。
您需要使用JAVA代码自己计算枚举字符串。
SELECT * FROM <TableName> WHERE _id IN ('1','2','3','4','5')
另请注意,在Android上,主键建议为_id
下划线。
答案 1 :(得分:0)
使用应用时,我更愿意让List
我用来包含它所持有的元素:
List<ElementType> = ...
通过这样做,您可以简单地询问每个元素的id。 Pentium10的解决方案可以完成这项工作,但我更喜欢这样做,因为它提供了更大的灵活性。