使用一组数组值查询sqlite数据库中的列

时间:2010-10-21 23:12:37

标签: android

我很遗憾再问一次,因为我之前问了类似的问题,但我在这里非常需要帮助。情况是这样的,我有一个字符串值的Arraylist,我已经转换为一个数组,我想查询我的sqlite数据库中的“NAME”列,并返回在name列中具有字符串值的行。

例如`String [] a = {“do this”,“do that”,“help here”};但它会动态增长,并且可以与数据库列保持一定的长度。(我的意思是它不能超过数据库表的大小。)

如何构造一个sqlite查询来返回在其数组中包含此字符串的行?使用此帖子中的建议时,我遇到“错误语法”或“绑定或列索引超出范围”的sqlite错误。

[http://stackoverflow.com/questions/3985263/using-an-array-to-query-an-sqlite-database-android] [1]

我不知道如何查询表格了。请帮助,任何帮助将不胜感激。谢谢

1 个答案:

答案 0 :(得分:0)

简而言之:您想要的功能是ContentResolver.query()。您可以通过context.getContentResolver()获取解析器。

你传入:

  • Uri - 您的内容提供商的URI。
  • 投影 - 您想要的列。
  • 选择 - 好吧,这就是它变得有趣的地方。在此创建一个如下所示的字符串:NAME=? OR NAME=? OR NAME=?
  • selectionArgs - 这实际上是你问题中的字符串数组a
  • sortOrder - 无论你想要什么。

如果您没有使用内容提供商,则可以使用SQLiteDatabase的查询功能,该功能几乎完全相同。