我正在尝试使用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?)
答案 0 :(得分:0)
("FTS_VIRTUAL_TABLE","FTS_VIRTUAL_TABLE_NEW")
它应该是这样的,或者如果这些是常量变量而不需要双引号,只需写
即可(FTS_VIRTUAL_TABLE,FTS_VIRTUAL_TABLE_NEW)
并使用列名称,其中包含表名,后跟点后跟列名。
或者我建议使用简单查询而不是使用SQLiteQueryBuilder。