2011-02-06 2 views
0

나는 C#에서 어댑터를 가지고 있으며 값 (int 유형)이 값 목록에 있는지 알고 싶습니다. 내가 어떻게 해? 내가 할 때 send IN @sendList 그것은 나에게 오류를주고있어. 나는이 @sendList LIKE '%'+ send +'%' 같은 LIKE을 사용하려고하지만 어댑터는 가장 쉬운 방법은 ID의 목록 분할 될"IN"을 사용하는 어댑터

+1

오류를 지정하고이 쿼리를 가져 오는 방법을 설명하는 코드를 추가하십시오. – HuBeZa

+1

'IN' 절은 여러분의 값이 1이어야한다고 요구합니다. 괄호 안에'IN (1,4,6,9)' – bitxwise

+0

과 같이 쉼표로 구분하고 있지만 목록을 매개 변수로 가져올 수 없습니까? @HuBeza, 내가 어떻게 가져 오려고했는지 썼다. @sendList LIKE '%'+ send + '%'becuse "send"가 int 일 때 오류가 발생합니다. – aharon

답변

0

... VARCHAR를 INT로 변환 할 수 없습니다 : 당신이 매개 변수를 주장하는 경우

... 
string.Format("Send IN {0}", string.Join(sendList.Select(id => id.ToString())); 

을하지만, 목록을 문자열로 변환하는 SQL 함수를 작성할 수 있습니다. 많은 예제 (like this) over the web을 찾을 수 있습니다.

+0

당신은 여전히 ​​매개 변수를 사용할 수 있습니다, 당신은 in (?,?,?,?)과 같은 수의'?'를 in 요소로 만들고 목록을 반복하고 매개 변수를 지정하기 만하면됩니다 – nos