2011-10-08 80 views
1

我正在试图制作一个android应用程序,该应用程序可以搜索我的数据库中的任何字符组合,并将其放入edittext控件中。 例如,我在我的数据库中有RAW,HOW和HEAD(在很多其他词汇和数字中),如果我放入角色“HOWRADE”,我希望在RAW,HOW和HEAD上都有所成就, WOHARED存在于我放入edittext的字符串中。 任何人都知道这是否可以用SQL查询完成?我可以很难做到这一点,并对字符串中的每个字符进行查询,但看起来太复杂了。我真的很感谢这个帮助,因为我不能再直想了:)在sqlite数据库中搜索字符串的任何组合

回答

1

当然,您有WHERE子句,您可以使用LIKE和通配符(例如%)来定义您正在查找上下文中的字母。

筑基SQL作为一个字符串,并完成它“WHERE” 然后通过信件进行迭代,并添加文本LIKE“%‘+字符+’%” 确保你得到或(S)把在SQL中正确的位置,然后执行语句。

当您正在构建它时,您可能需要记录完成的字符串以查看您需要更改以使其工作。

参考: LIKE clause

+0

谢谢。我想这是唯一“简单”的方式来做到这一点。查询变得非常长,但执行速度非常快。我相信位图的想法更好,但我没有时间进一步研究它。感谢大家的帮助! – Smiden

1

不是说我知道,不,至少不是,如果你只是将一个单词列表存储为列。

即使你能,我不知道通过SQL做这将是最好的办法 - (或者只是让查询)可能考虑某种形式的位图字符表示,特里等

+0

+1位图的想法。把每个单词变成一个按位散列 - 然后用它来查询。 – Randy

+0

(正如Pyrodante所说,如果课程建立了一串通配的喜欢,我会检查表现,如果这是一个问题。) –