【发布时间】: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