【问题标题】:using sqlite3 fts3 snippet function in android dictionary app在 android 字典应用程序中使用 sqlite3 fts3 片段功能
【发布时间】:2013-04-13 00:13:26
【问题描述】:

我已经使用 sqlite3 fts3 虚拟表构建了一个 android 字典应用程序。我希望能够使用 fts3 sn-p 函数执行搜索,如:

SELECT sn-p(my_dictionary) FROM my_dictionary WHERE my_dictionary MATCH query_string;

我无法在 android 上使用 sqlite3 执行这样的搜索——我收到有关我在光标中传递 sqlite 的列数的错误消息。我试图通过使用 rawQuery 来执行这个搜索,即明确地写出查询;并将游标查询的“String[] columns”变量分配给“sn-p(my_dictionary)”。

所以我的问题是:android 上的 sqlite 光标是否必须包含所有列才能正确执行(很确定答案是“是”)?有没有人让 fts3 sn-p() 搜索在 android 上正常工作?如果是这样,你到底是怎么做到的?

感谢您对这个相当晦涩的问题的任何帮助。

【问题讨论】:

  • 确切的错误信息是什么?
  • 04-12 09:25:51.383:E/CursorWindow(406):对字段插槽 0,3 的错误请求。 numRows = 24, numColumns = 1 04-12 09:25:51.404: E/AndroidRuntime(406): java.lang.IllegalStateException: get field slot from row 0 col 3 failed
  • 对上面的蹩脚格式表示歉意^^^
  • 我要补充一点,该表有 4 个列——_id、词条、非重音词条和定义。

标签: android sqlite android-cursor fts3


【解决方案1】:

更新——好的,我已经让它工作了。错误的直接原因是我没有更改我的代码操作/格式化光标内容的方式到我的列表视图适配器的门。我寄给它一列,而它却期待着几列。呵呵。

因此,如果有人真的想知道,您可以实际上将 fts3 sn-p 函数与 android sqlite 一起使用。是的,标准的 sqlite3 语法工作得很好。它是否真的对显示搜索结果有用是另一回事。

【讨论】:

    猜你喜欢
    • 2011-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多