我想有一个选项可以调用'rawQuery'并传入一个Integers列表,但看起来我不能:所有'rawQuery'方法都需要字符串数组......
为什么呢?我可以为每个传递的int对象调用'toString',但我在这里看不到任何逻辑。为什么Google不提供接受对象列表的rawQuery?
对此有任何限制或约束吗?
可能我错过了什么?
谢谢。
答案 0 :(得分:0)
可能是因为rawQuery不是首选的查询方法。由于sqlite列基本上没有类型,因此他们可能不希望假设在你传递的任何内容上调用toString。
SQLite支持列上“类型亲和力”的概念。类型 列的亲和性是存储在其中的数据的推荐类型 柱。这里的重要想法是建议使用类型,而不是 需要。任何列仍然可以存储任何类型的数据。就是这样 根据选择,某些列将更喜欢使用一个存储类 在另一个。列的首选存储类称为其 “亲和力”。
您是否有理由使用rawQuery
代替execSQL
?
答案 1 :(得分:-1)
参数列表中没有接受复杂对象,如参数 bindArgs 的文档中所述:
参数
sql 要执行的SQL语句。不支持以分号分隔的多个语句。
bindArgs bindArgs中仅支持byte [],String,Long和Double。