C#
을 통해 SqlCommand
을 사용하여 쿼리를 실행하고 있습니다. 쿼리 중 하나는 예상대로 수행되지만, 복잡하게 만들면 이해가 안되는 이상한 결과가 나타납니다. 나는 누군가가이 공동체가 지금보다 더 잘 이해할 수 있기를 바라고 있습니다.LIKE로 쿼리가 작동하지 않습니다.
아래 코드가 제대로 실행되어 제공된 텍스트가 포함 된 제목이있는 레코드를 찾습니다.
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 [email protected]";
comm.Parameters.AddWithValue("id", Request.QueryString["idortitle"]);
comm.Parameters.AddWithValue("title", Request.QueryString["idortitle"]);
같은 구조로 브라켓을 시도해보십시오. 'SELECT * FROM tbl_requests WHERE (제목 LIKE '%'+ @title + '%') 또는 Id = @ id' –
@ 패트릭 사과. 복사 붙여 넣기 오류입니다. 위의 수정했습니다. 잘 잡으세요! – steventnorris
@Asad 그 일찍 시도했지만 변화는 없었습니다. – steventnorris