Compartir a través de


Método ISearchQueryHelper::GenerateSQLFromUserQuery (searchapi.h)

Genera una consulta de Lenguaje de consulta estructurado (SQL) basada en una cadena de consulta proporcionada por el cliente expresada en la sintaxis de consulta avanzada (AQS) o en la sintaxis de consulta natural (NQS).

Sintaxis

HRESULT GenerateSQLFromUserQuery(
  [in]          LPCWSTR pszQuery,
  [out, retval] LPWSTR  *ppszSQL
);

Parámetros

[in] pszQuery

Tipo: LPCWSTR

Puntero a una cadena Unicode terminada en null que contiene una consulta en AQS o NQS.

[out, retval] ppszSQL

Tipo: LPWSTR*

Recibe la dirección de un puntero a una cadena de consulta SQL basada en la consulta en el parámetro pszQuery .

Valor devuelto

Tipo: HRESULT

Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

Este método genera SQL con el formato siguiente:

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>]

La generación de SQL usa la configuración especificada en ISearchQueryHelper::p ut_QueryTermExpansion, ISearchQueryHelper::p ut_QueryContentProperties y ISearchQueryHelper::p ut_QueryContentLocale.

ISearchQueryHelper::GenerateSQLFromUserQuery usa la configuración regional. Sin embargo, ISearchQueryHelper no usa la configuración regional. Como resultado, hay incoherencias en el código SQL devuelto por ISearchQueryHelper::GenerateSQLFromUserQuery e ISearchQueryHelper para la configuración específica de la región, como formatos de fecha. Por ejemplo, si establece la configuración regional para la fecha y hora en algo distinto de la configuración regional del sistema, como en-CA si la configuración regional del sistema es en-US y escribe Toybox -m -i "date:3/7/2008" -Y -s, el CÓDIGO SQL devuelto será diferente. El SQL de ISearchQueryHelper::GenerateSQLFromUserQuery habrá analizado el 3/7/2008 según en-CA (buscando elementos con fecha del 3 de julio de 2008), mientras que el SQL de ISearchQueryHelper habrá analizado el 3/7/2008 según en-US (buscando elementos con fecha 7 de marzo de 2008).

Consulte el ejemplo de código DSearch para ver cómo crear una clase para una aplicación de consola estática para consultar Windows Search mediante el ensamblado Microsoft.Search.Interop para ISearchQueryHelper.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP con SP2, Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 con SP1 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado searchapi.h
Redistribuible Windows Desktop Search (WDS) 3.0

Consulte también

ISearchQueryHelper

ISearchQueryHelper::get_QuerySyntax

Consulta del índice mediante programación

Consulta del índice con la sintaxis SQL de Windows Search