C#
を使用してクエリを実行していますSqlCommand
。クエリの 1 つは期待どおりに実行されますが、複雑にすると、意味をなさないような奇妙な結果が得られます。このコミュニティの誰かが、今の私よりも理解を深めてくれることを願っています。
以下のコードは正常に実行され、指定されたテキストを含むタイトルのレコードが検索されます。
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"]);