Android FTS3查询多个表没有这样的表

时间:2013-08-01 04:29:36

标签: android-sqlite

我正在尝试使用Android sqlite中的FTS3从多个表中搜索文本。

但是它给出了NO SUCH TABLE异常。表正在创建并尝试更改数据库名称和版本。但它没有用。

任何人都可以提供帮助。这导致问题。??

这是我的查询声明:

SQLiteQueryBuilder builder = new SQLiteQueryBuilder();
    builder.setTables("FTS_VIRTUAL_TABLE,FTS_VIRTUAL_TABLE_NEW");
    builder.setProjectionMap(mColumnMap);
    Cursor cursor = builder.query(
            mDatabaseOpenHelper.getReadableDatabase(), columns, selection,
            selectionArgs, null, null, null);

我得到的错误是......

08-01 04:43:58.412:W / SuggestionsAdapter(5069):android.database.sqlite.SQLiteException:没有这样的表:FTS_VIRTUAL_TABLE(代码1):,编译时:SELECT _id,suggest_text_1,suggest_text_2,suggest_text_1, suggest_text_2,suggest_intent_data_id FROM FTS_VIRTUAL_TABLE,FTS_VIRTUAL_TABLE_NEW WHERE(suggest_text_1 MATCH?)

1 个答案:

答案 0 :(得分:0)

("FTS_VIRTUAL_TABLE","FTS_VIRTUAL_TABLE_NEW")

它应该是这样的,或者如果这些是常量变量而不需要双引号,只需写

即可
(FTS_VIRTUAL_TABLE,FTS_VIRTUAL_TABLE_NEW)

并使用列名称,其中包含表名,后跟点后跟列名。

或者我建议使用简单查询而不是使用SQLiteQueryBuilder。