我有一个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