我有一個SQLite3
文件,其中包含學生全名「,這意味着它將超過1字至少4」和學生標記「grad」。Sqlite3自動完成查詢?
在UI我有UITextField
工作作爲「search bar
」和UITableView
當用戶開始更改值的文本框在異步任務我根據學生的全名從數據庫中執行譽查詢和更新表時的數據,以便每次用戶更改textField的值時,該表都將達到數據。
和來到這裏的問題,還有就是許多情況下,搜索/查詢:
1-用戶進入單word.//他找學生有這樣的名稱,也可能是姓。在這種情況下,查詢將是:
SELECT grade,name FROM students where name LIKE 'Adam%' OR name LIKE '% Adam' Limit 20 OFFSET 20
2-用戶通過他/她的姓和名進入雙word.//他找學生或他輸入名字和第二名字。在這種情況下查詢將是:
SELECT grade,name FROM students where name LIKE 'Ahmad Rami%' OR name LIKE 'Ahmad % Rami%' Limit 20 OFFSET 20
3-用戶不斷輸入文本他輸入全名在這種情況下沒有問題。
問題出在第一種情況,如果用戶開始輸入姓氏「單個單詞」,第一個查詢將執行但沒有結果會出現,直到他爲家族名稱填寫完整單詞爲止,因爲在「 %亞當「,但如果我們把」%「放在它之後,這將返回錯誤的結果,以防用戶意味着第一個nam。
EX:
「亞當·喬恩·麥克·史密斯」
「喬恩·亞當Maikel盎格魯」
「吉姆的阿林Rafiel戈登」
如果用戶輸入「A」==結果==>亞當..... smith & jon ada ....盎格魯//兩者然後出現,因爲名字的「亞當」和姓氏「Jon」以「A」開頭。 但在我的情況下只是亞當出現。 如果我們通過在最後添加「%」來更改查詢,並且用戶輸入「A」===>「Jims」將出現在結果中,我不希望它出現
thx:D again:D – Omarj