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



我有一个数据库(SQL服务器(,其中包含一个学生表,其中有字段名称(nvarchar(50((,年龄(int(和生日(日期(。我在 C# 窗口窗体中添加了此数据库。我按名称搜索:

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

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

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

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

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

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

请务必首先验证用户是否在 textBox3 中输入了数值。

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

最新更新