내 asp.net 프로젝트에서 C#의 서버 측 필터 기능이 SQL WHERE
절을 작성한 다음 SQL 저장 프로 시저로 전달하는 경우가 있습니다프로그래밍 방식으로 WHERE 절을 작성한 다음 매개 변수로 SQL에 전달
필터는 "WHERE Qty < 5 AND Price > 10
"과 같은 값의 문자열 변수를 생성합니다.
저장 프로 시저의 관련 부분은 같은 것입니다 : 당신이 볼 수 있듯이, 우리는에 의해 생성 된 where
절을 포함하는 변수 전달에 내장 된 문자열상의 EXEC
명령을 할 필요가
Exec (‘
Select Name, Location
From Users
+ ‘@passedInWhereClause’
‘)
서버 측 C# 코드. 나는 EXEC
을 없애고 EXEC
으로 싸여있는 거대한 문자열 대신에 SQL 코드를 좀 더 전문적으로 보이게 만들고 싶습니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?
SQL 인젝션 용 수 ... –
너의 등 (http://stackoverflow.com/questions/6945461/t-sql-dynamic-where-condition)이 다른 문제이다]. 짧은 대답은 아니오입니다. – Steve
대신 EF 또는 Linq-To-SQL을 사용하여 이것을 고려해 보셨습니까? – KingCronus