현재 SqlCommand
의 where 절을 작성하려고합니다. 그것은이 아닌 것 같아매개 변수의 동적 where 절
이
myCommand.CommandText = "SELECT * " +
"FROM TABLE1 " +
"@whereClause";
//I build up the where clause with a StringBuilder
myCommand.Parameters.AddWithValue("@whereClause" theClause.ToString());
비슷한하지만이 가능합니다. 나는 예외를 가지고 :
SQLEXCEPTION 근처의 구문이 잘못을 '@whereClause'
나는 데이터베이스 및이 방법에 X 호출을 피하기 위해 원하기 때문에 나는 이런 식으로 뭔가를하고 싶은 이유는 나는 서버에 정렬과 필터링을 맡긴다.
어쨌든 이와 비슷한 작업을 수행 할 수 있습니까?
/편집 : 어디 절은 마침내이 바보 같은 오타 오류로 인해했다 ... 나는 변수화 된 쿼리를 사용하지 않도록 변경 한 후이 WHERE (TABLE1.COL1 = 'the value' OR TABLE1.COL1 = 'another value' OR TABLE1.COL1 = 'this value' ...)
/편집과 같을 것입니다. 나는 내 도움을 누가 대답을 upvote거야. 내 바보 같은 버그를 고치지 않았더라도 내 상황을 해결하기 위해 더 가까운 곳에 무엇을 대답으로 표시 할 것인가?
당신의'myCommand' 당신이 그것을 디버깅 할 때처럼 무엇 보이는입니다 실행할 수 있습니까? –
@whereClause는 문자열이므로 아마도 인용됩니다. 왜'myCommand.CommandText = "SELECT *"+ "FROM TABLE1"+ theClause.ToString();을 사용하지 않는가? 또한'theClause' 접두사는'WHERE'인가? –
TheClause.ToString()은 무엇을 반환합니까? –