SQLite查询列中的选择在哪里?

时间:2015-05-01 16:30:07

标签: android sqlite

如何编写一个查询,选择列中的选择位置?我只看到了列在选区中的位置,如下所示:

String[] names = { "name1", "name2" }; // do whatever is needed first
String query = "SELECT * FROM table"
    + " WHERE name IN (" + makePlaceholders(names.length) + ")";
Cursor cursor = mDb.rawQuery(query, names);

我基本上想要与此相反。 我的应用程序是一个配方查找应用程序,所以有一列,每个条目都有一串成分。我希望能够选择输入选择的食谱(让我们说#34;鸡饭和#34;)在成分串中("鸡饭洋葱......&#34) )。

是否可以这样做?

这就是我的查询现在的样子

    mCursor = mDb.query(true, SQLITE_TABLE, new String[] {COLUMN_ROWID,
            COLUMN_NAME, COLUMN_TYPE, COLUMN_INGRED, COLUMN_SPECIAL, COLUMN_DESCRIPT, COLUMN_ALLINGRED, COLUMN_INSTRUCT, COLUMN_IMGPATH},
                    COLUMN_ALLINGRED + "like '%" + inputText + "%'",
            null, null, null, null, null);

1 个答案:

答案 0 :(得分:0)

你的第二个查询不起作用吗?您没有在列#34中进行选择,它只是一个简单的文本搜索。但它有很多问题(除了表现)。如果您的成分处于不同的顺序怎么办?对于前者米饭鸡。您可能希望自己存储每个成分并对inputText进行标记,并搜索任一标记的所有匹配项,并对两者进行优先级排序。文本搜索并不容易,您最好将其卸载到服务并从客户端拨打电话。你不应该有这么多的离线数据,大概是你想要经常更新它。