사용자 입력 텍스트 필드를 기반으로 데이터를 필터링해야하는 SQL Server에서 검색 쿼리를 실행해야합니다. 문제는이 쿼리를 여러 테이블에서 실행해야하므로 (런타임시 tablecolumns 만 알기 때문입니다). 필터와 같은 SQL 쿼리
이
내가 가지고있는 쿼리입니다 :SELECT * FROM [BTcegeka.C2M].[dbo].[Lookup_Country] WHERE Name LIke '%test%'
지금 문제는 내가 모든 열에서 같은 기능을 할 필요가있는 테이블에 (난 단지 런타임에 C 럼 이름을 알고있다). ASP.NET 웹 사이트에서이 쿼리를 호출합니다. 사용자는 드롭 다운 목록에서 표를 선택한 다음 검색 필드를 입력 할 수 있습니다.
SELECT * FROM [BTcegeka.C2M].[dbo].[Lookup_Country] WHERE * LIke '%test%'
은 분명히 실패 '처럼 어디 *'
:이
정말 달성 할 것입니다. 이것을 어떻게 할 수 있습니까?
이 솔루션은 런타임에 열 이름을 변경하는 것입니다 - 선택한 테이블을 사용하고 필드를 검색 (그리고 이름이 유효하고 허용하는 경우 보안 확인). ** 편집 : ** 사용자가 검색 할 하나의 열을 선택하므로 모든 열의 표현식을 검색하면 결과가 잘못됩니다. – MacGucky
왜 동적 SQL이나 연결된 쿼리 문자열을 사용할 수 없습니까? –