Поделиться через


Метод 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

ISearchQueryHelper::get_QuerySyntax

Отправка программных запросов к индексу

Запрос к индексу с помощью синтаксиса SQL Windows Search