Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SQL Server在包含部分文本的列中搜索_C#_Sql Server_Winforms_Search - Fatal编程技术网

C# SQL Server在包含部分文本的列中搜索

C# SQL Server在包含部分文本的列中搜索,c#,sql-server,winforms,search,C#,Sql Server,Winforms,Search,所以,我用C语言在WindowsForm中制作了一个程序,我有一个搜索框,用户可以在其中搜索客户列表。 我想做的是:当用户点击“搜索”时,从clients表中选择name列中包含用户编写的文本的所有行。比如: 我在客户表中注册了Alan和Mark,用户在搜索框中写下“a”,它必须带上Alan和Mark,因为他们的名字中有字母“a”。简单的like可以解决您的问题: Select * from yourtable where [name] like '%a%' 现在您可以使用该查询了。 [为安全

所以,我用C语言在WindowsForm中制作了一个程序,我有一个搜索框,用户可以在其中搜索客户列表。 我想做的是:当用户点击“搜索”时,从clients表中选择name列中包含用户编写的文本的所有行。比如:


我在客户表中注册了Alan和Mark,用户在搜索框中写下“a”,它必须带上Alan和Mark,因为他们的名字中有字母“a”。

简单的like可以解决您的问题:

Select * from yourtable where [name] like '%a%'
现在您可以使用该查询了。 [为安全起见进行编辑]

cmd.CommandText = "select* from client where name like @Name;";
cmd.Parameters.AddWithValue("@Name", "%" + userInput + "%");

这似乎是个好计划。你开始写代码来完成它了吗?请记住,您不是来要求别人为您编写代码的。在发布之前阅读。对不起,我没有把代码放在这里,因为我想要的实际上是SQL代码,而不是c/winform代码。我尝试了SELECT*FROM表,其中的列类似文本,但文本必须是“Alan”或“Mark”,而不仅仅是一个字母或名称的一部分。我还尝试了CONTAINS,但效果相同:/Check Sql Server中的语句。您会注意到它支持通配符扫描我在其中使用参数?我试过了,但没什么回报。当我尝试使用“%a%”时,它工作正常。是的@alanfilepe和谷歌将重新运行大量示例!祝你好运你听说过SQL注入攻击吗?你听说过SQL注入攻击吗?你在给社区提供答案,而不仅仅是OP。如果你建议解决如此大的安全问题,你应该在回答中指出它。
cmd.CommandText = "select* from client where name like @Name;";
cmd.Parameters.AddWithValue("@Name", "%" + userInput + "%");