2010-10-21 71 views
0

我很抱歉再次提问,因为我之前曾问过类似的问题,但我在这里非常需要帮助。情况是这样的,我有一个Arraylist字符串的值,我已经转换为数组我想要查询我的sqlite数据库中的“名称”列,并返回名称列中具有字符串值的行。例如`String [] a = {“do this”,“do that”,“help here”};但它动态增长,可以有一个长度相对于数据库列(我的意思是它不能超过数据库表的大小)使用一组数组值查询sqlite数据库中的列

我怎样才能构建一个SQLite查询返回具有此行字符串在他们的数组?当使用这篇文章的建议时,我的sqlite错误是“语法不正确”或“绑定或列索引超出限制”。

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

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

+0

到目前为止你有什么? – EboMike 2010-10-21 23:14:46

回答

0

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

您传递:

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

如果您不使用内容提供程序,则可以使用SQLiteDatabase的查询函数,该函数以几乎相同的方式工作。

+0

感谢您的回复,并对延迟响应感到抱歉。我正在使用SQLiteDatabase查询功能,是的,选择参数是我遇到问题的地方。字符串数组值可以动态增长,并且必须由array []。size()确定,但当然它不能超过数据库表;所以它不可能只是按照你的建议创建一个字符串,或者说,我不知道如何编写它,考虑到array []。size(); – Rexx 2010-10-22 06:20:00

+0

从字符串数组中创建一个字符串是微不足道的。试一试。 – EboMike 2010-10-22 07:21:43

+0

不得不重新实现我的应用程序的逻辑,而不是它的工作原理。谢谢! – Rexx 2010-10-22 11:13:38

相关问题