Метод ISearchQueryHelper::GenerateSQLFromUserQuery (searchapi.h)
Создает запрос язык SQL (SQL) на основе предоставленной клиентом строки запроса, выраженной в расширенном синтаксисе запросов (AQS) или естественном синтаксисе запросов (NQS).
Синтаксис
HRESULT GenerateSQLFromUserQuery(
[in] LPCWSTR pszQuery,
[out, retval] LPWSTR *ppszSQL
);
Параметры
[in] pszQuery
Тип: LPCWSTR
Указатель на строку Юникода, завершающуюся null, которая содержит запрос в AQS или NQS.
[out, retval] ppszSQL
Тип: LPWSTR*
Получает адрес указателя на строку ЗАПРОСА SQL на основе запроса в параметре pszQuery .
Возвращаемое значение
Тип: 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 не использует региональные языковые параметры. В результате в SQL, возвращаемом из ISearchQueryHelper::GenerateSQLFromUserQueryQuery и ISearchQueryHelper , имеются несоответствия для параметров конкретного региона, таких как форматы дат. Например, если задать для даты и времени языковой стандарт, отличный от языкового стандарта системы, например en-CA, если языковой стандарт системы — en-US, и ввести Toybox -m -i "date:3/7/2008" -Y -s
, возвращаемый SQL будет отличаться. Sql из ISearchQueryHelper::GenerateSQLFromUserQuery будет проанализирован 07.03.2008 в соответствии с en-CA (поиск элементов от 3 июля 2008 г.), а SQL из ISearchQueryHelper будет проанализирован 07.03.2008 в соответствии с en-US (поиск элементов от 7 марта 2008 г.).
Ознакомьтесь с примером кода DSearch , чтобы узнать, как создать класс для статического консольного приложения для запроса Поиска Windows с помощью сборки Microsoft.Search.Interop для ISearchQueryHelper.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP с пакетом обновления 2 (SP2), Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 с пакетом обновления 1 (SP1) [только классические приложения] |
Целевая платформа | Windows |
Header | searchapi.h |
Распространяемые компоненты | Windows Desktop Search (WDS) 3.0 |
См. также раздел
ISearchQueryHelper::get_QuerySyntax