我正在通过C#
使用SqlCommand
. 其中一个查询按预期执行,但是当我将其复杂化时,我得到了似乎没有意义的奇怪结果。我希望这个社区中的某个人能比我现在更能理解它。
下面的代码运行良好,找到标题包含所提供文本的任何记录。
comm.CommandText = "SELECT * FROM tbl_records WHERE Title LIKE '%' + @title + '%'";
comm.Parameters.AddWithValue("id", Request.QueryString["idortitle"]);
comm.Parameters.AddWithValue("title", Request.QueryString["idortitle"]);
但是,当我添加以下部分时,返回的唯一结果是与 id 匹配的结果。与标题部分匹配的结果将被排除。为什么会这样?
comm.CommandText = "SELECT * FROM tbl_records WHERE Title LIKE '%' + @title + '%' OR Id=@id";
comm.Parameters.AddWithValue("id", Request.QueryString["idortitle"]);
comm.Parameters.AddWithValue("title", Request.QueryString["idortitle"]);