Java 为什么execSQL接受对象[]和原始查询字符串[]

Java 为什么execSQL接受对象[]和原始查询字符串[],java,android,sqlite,Java,Android,Sqlite,我想有一个选项来调用'rawQuery',并向其中传递一个整数列表,但看起来我不能:所有的'rawQuery'方法都需要字符串数组 为什么??我可以为每个传递的int对象调用'toString',但我在这里看不到任何逻辑。为什么Google不提供接受对象列表的rawQuery 这有什么限制或约束吗 也许我错过了什么 谢谢。参数列表中不接受复杂对象,如参数bindArgs文档中所述: 参数 sql要执行的sql语句。不支持用分号分隔的多个语句 bindArgs中仅支持字节[]、字符串、长字符和双精

我想有一个选项来调用'rawQuery',并向其中传递一个整数列表,但看起来我不能:所有的'rawQuery'方法都需要字符串数组

为什么??我可以为每个传递的int对象调用'toString',但我在这里看不到任何逻辑。为什么Google不提供接受对象列表的rawQuery

这有什么限制或约束吗

也许我错过了什么


谢谢。

参数列表中不接受复杂对象,如参数bindArgs文档中所述:

参数

sql要执行的sql语句。不支持用分号分隔的多个语句

bindArgs中仅支持字节[]、字符串、长字符和双精度字符


.

参数列表中不接受复杂对象,如参数bindArgs文档中所述:

参数

sql要执行的sql语句。不支持用分号分隔的多个语句

bindArgs中仅支持字节[]、字符串、长字符和双精度字符


.

可能是因为rawQuery不是首选的查询方法。由于sqlite列基本上没有类型,所以它们可能不想假设对您正在传递的任何内容调用toString

SQLite支持列上的类型关联概念。类型 列的关联性是该列中存储的数据的建议类型 柱这里的重要思想是推荐该类型,而不是 必修的。任何列仍然可以存储任何类型的数据。只是 如果有选择的话,有些列更喜欢使用一个存储类 一个接一个。列的首选存储类称为its 亲和力


是否有理由使用rawQuery而不是execSQL?

可能是因为rawQuery不是首选的查询方法。由于sqlite列基本上没有类型,所以它们可能不想假设对您正在传递的任何内容调用toString

SQLite支持列上的类型关联概念。类型 列的关联性是该列中存储的数据的建议类型 柱这里的重要思想是推荐该类型,而不是 必修的。任何列仍然可以存储任何类型的数据。只是 如果有选择的话,有些列更喜欢使用一个存储类 一个接一个。列的首选存储类称为its 亲和力


您想使用rawQuery而不是execSQL有什么原因吗?

execSQL不允许使用占位符并允许SQL注入孔。execSQL不允许使用占位符并允许SQL注入孔。