如何将LIKE用于类型int和数据

时间:2019-04-27 15:42:36

标签: c# sql-server winforms

我有一个数据库(SQL Server),其中有一个学生表,其中有字段名称(nvarchar(50)),年龄(int)和生日(日期)。我以C#Windows形式添加了该数据库。我按名称进行搜索:

bindingSource.Filter = "Name LIKE'" + textBox5.Text + "%'";

而且效果很好。但这不适用于“年龄”字段:

bindingSource.Filter = "Age LIKE'" + Convert.ToInt32(textBox5.Text) + "%'";

还有其他人知道如何对“生日”字段执行相同的操作吗?

1 个答案:

答案 0 :(得分:0)

对于数字列,请使用等于=。如果您确实想通过部分值搜索Age,则需要首先将其转换为字符值。

studentsBindingSource.Filter = "CAST([Age] AS varchar) LIKE '" + Convert.ToInt32(textBox3.Text) + "%'";`

请确保首先验证用户是否在textBox3中输入了数字值。

请注意,我只是直接回答您的问题。使用参数化查询将防止SQL注入攻击,并且应该是处理它的首选方式。