ISearchQueryHelper::GenerateSQLFromUserQuery 메서드(searchapi.h)
AQS(고급 쿼리 구문) 또는 NQS(자연 쿼리 구문)로 표현된 클라이언트 제공 쿼리 문자열을 기반으로 SQL(구조적 쿼리 언어) 쿼리를 생성합니다.
구문
HRESULT GenerateSQLFromUserQuery(
[in] LPCWSTR pszQuery,
[out, retval] LPWSTR *ppszSQL
);
매개 변수
[in] pszQuery
형식: LPCWSTR
AQS 또는 NQS의 쿼리를 포함하는 null로 끝나는 유니코드 문자열에 대한 포인터입니다.
[out, retval] ppszSQL
형식: LPWSTR*
pszQuery 매개 변수의 쿼리를 기반으로 SQL 쿼리 문자열에 대한 포인터의 주소를 받습니다.
반환 값
형식: HRESULT
메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.
설명
이 메서드는 다음 형식으로 SQL을 생성합니다.
SELECT <QuerySelectColumns> FROM <CatalogName that created query helper>
WHERE <Result of interpreting the User query passed into this function according to QuerySyntax>
[ AND|OR <QueryWhereRestrictions>]
SQL 생성은 ISearchQueryHelper::p ut_QueryTermExpansion, ISearchQueryHelper::p ut_QueryContentProperties 및 ISearchQueryHelper::p ut_QueryContentLocale에 지정된 설정을 사용합니다.
ISearchQueryHelper::GenerateSQLFromUserQuery 는 지역 로캘 설정을 사용합니다. 그러나 ISearchQueryHelper 는 지역 로캘 설정을 사용하지 않습니다. 결과적으로 날짜 형식과 같은 지역별 설정에 대해 ISearchQueryHelper::GenerateSQLFromUserQuery 및 ISearchQueryHelper 에서 반환된 SQL의 불일치가 있습니다. 예를 들어 시스템 로캘이 en-US인 경우 en-CA와 같이 날짜/시간의 로캘을 시스템 로캘 이외의 로캘로 설정하고 를 입력 Toybox -m -i "date:3/7/2008" -Y -s
하면 반환되는 SQL이 다릅니다.
ISearchQueryHelper::GenerateSQLFromUserQuery의 SQL은 en-CA에 따라 2008년 3월 7일 구문 분석됩니다(7월 3일자 항목 검색, 2008) 반면 ISearchQueryHelper의 SQL은 en-US(2008년 3월 7일자 항목 검색)에 따라 2008년 3월 7일에 구문 분석됩니다.
DSearch 코드 샘플을 확인하여 ISearchQueryHelper용 Microsoft.Search.Interop 어셈블리를 사용하여 Windows Search를 쿼리하는 정적 콘솔 애플리케이션에 대한 클래스를 만드는 방법을 확인합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | WINDOWS XP SP2, Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | WINDOWS Server 2003 SP1 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | searchapi.h |
재배포 가능 파일 | WDS(Windows 데스크톱 검색) 3.0 |