2011-10-08 78 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所說,如果課程建立了一串通配的喜歡,我會檢查表現,如果這是一個問題。) –