corocoto Asked:2020-05-04 15:28:28 +0000 UTC2020-05-04 15:28:28 +0000 UTC 2020-05-04 15:28:28 +0000 UTC 跨多个字段搜索 textbox.filter 772 如何在一个文本框的帮助下在多个字段中实现正确的搜索?下面的代码不能正常工作。也就是说,过滤应该是不完全匹配Имени,Фамилии但是比较应该从字符串的开头开始 private void tbSearchClient_TextChanged(object sender, EventArgs e) { bs.Filter = "sName LIKE '%" + tbSearchClient.Text + "%' OR sSurname LIKE '%" + tbSearchClient.Text + "%'"; } c# 1 个回答 Voted Best Answer tym32167 2020-05-04T16:42:58Z2020-05-04T16:42:58Z 根据Like运算符的语法,符号%是任何字符串。如果你从文本的开头寻找与过滤器的匹配(即指定的过滤器必须严格匹配姓/名的开头),那么%开头的符号将是多余的。也就是说,你需要用这个替换'%" + tbSearchClient.Text + "%'它'" + tbSearchClient.Text + "%'(删除第一个%) 还可以考虑使用参数化查询来避免对您的应用程序的 SQL 注入攻击。
根据Like运算符的语法,符号
%
是任何字符串。如果你从文本的开头寻找与过滤器的匹配(即指定的过滤器必须严格匹配姓/名的开头),那么%
开头的符号将是多余的。也就是说,你需要用这个替换'%" + tbSearchClient.Text + "%'
它'" + tbSearchClient.Text + "%'
(删除第一个%
)还可以考虑使用参数化查询来避免对您的应用程序的 SQL 注入攻击。