我有一张包含大量信息的表格,现在我希望用户可以搜索该表格。
List<Table> tableSearch = new List<Table>();
string[] words = searchString.Split(' ');
string sqlSearch = "";
foreach (string word in words)
{
sqlSearch += " and Searchstring LIKE "+ "'%" + word + "%'";
}
tableSearch = db.Query<Table> ("select * from Table WHERE 1 = 1" + sqlSearch);
这是有效的,也是我想要得到的解决方案。问题是,当 searchString 类似于 时Dü
,D'
我得到一个异常。
我在这里发现sqlite-net like statement crashs是解决问题的好方法。
我的问题是,我现在找到的唯一解决方案是:
if (words.Length < 2)
tableSearch = db.Query<Table> ("select * from Table WHERE Searchstring LIKE ?", "%" + words[0] + "%");
else if (words.Length < 3)
tableSearch = db.Query<Table> ("select * from Table WHERE Searchstring LIKE ? and Searchstring LIKE ?", "%" + words[0] + "%", "%" + words[1] + "%");
等等......
但这不是我想要的解决方案。
有人有想法吗?