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