一尘不染

如何使LIKE子句在ADO.NET和SQL Server中工作

sql

我在ASP.NET中做一个非常简单的查询,但是在插入该LIKE子句后它停止工作。

例子:

String sql = " SELECT * 
                 FROM Products 
                WHERE ID = @MYID 
                  AND Name LIKE '%@MYNAME%' ";
SqlCommand command = new SqlCommand(sql, cn);


command.Parameters.AddWithValue("@MYID", MYID.Text);

command.Parameters.AddWithValue("@MYNAME", MYNAME.Text);

如果我删除了LIKE,它将起作用。因此,我认为这与’‘引号有关?


阅读 127

收藏
2021-03-10

共1个答案

一尘不染

sql语句应如下所示:

String sql = " SELECT * FROM Products WHERE ID = @MYID AND Name LIKE '%' + @MYNAME + '%'";

我不确定我是否完全理解您的评论,但是您似乎想在查询中使用文本框中的值-也许这就是您要尝试执行的操作:

String sql = " SELECT * FROM Products WHERE ID = @MYID AND Name LIKE '%' + text_box.Text + '%'";

“ text_box”将是您的textBox控件的实际ID。

2021-03-10