내가 테이블을 조회하고 있다고 가정하고, null이 찾는 값 중 하나 일 수 있습니다. 이처럼 설정된 쿼리매개 변수화 된 쿼리에서 nullable 값을 처리하는 올바른 방법은 무엇입니까?
인사말이 null 인 경우 결과를 반환하지 않습니다. 그래서 내가 대신이 작업을 수행하는 경향이있어, 그러나 그것은 나에게 추한 느낌 :
string whereClause;
if(!string.IsNullOrEmpty(salutation))
{
whereClause = "Salutation = @salutation";
command.Parameters.AddWithValue("@salutation", salutation);
}
else whereClause = "Salutation is null";
command.CommandText = "select * from People where " + whereClause;
더 정확한 방법이 있나요?
외부 문자열을 연결하지 않으면 병합으로 인해 삽입 취약점이 생성되지 않습니다. –
사실, 나쁜 습관에 빠지기가 더 쉽습니다. –
원본 버전은 @salutation이 null 일 때 모든 행을 반환합니다. @salutation은 null이고 salutation은 null이어야합니다. 방금 편집본을 게시하고 동료 검토를 거치면 동의 할 것입니다. –