Compartilhar via


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

Gera uma consulta linguagem SQL (SQL) com base em uma cadeia de caracteres de consulta fornecida pelo cliente expressa na sintaxe de consulta avançada (AQS) ou na sintaxe de consulta natural (NQS).

Sintaxe

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

Parâmetros

[in] pszQuery

Tipo: LPCWSTR

Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que contém uma consulta no AQS ou NQS.

[out, retval] ppszSQL

Tipo: LPWSTR*

Recebe o endereço de um ponteiro para uma cadeia de caracteres de consulta SQL com base na consulta no parâmetro pszQuery .

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Esse método gera o SQL na seguinte forma:

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

A geração SQL usa as configurações especificadas em ISearchQueryHelper::p ut_QueryTermExpansion, ISearchQueryHelper::p ut_QueryContentProperties e ISearchQueryHelper::p ut_QueryContentLocale.

ISearchQueryHelper::GenerateSQLFromUserQuery usa configurações de localidade regionais. No entanto, ISearchQueryHelper não usa as configurações de localidade regional. Como resultado, há inconsistências no SQL retornado de ISearchQueryHelper::GenerateSQLFromUserQuery e ISearchQueryHelper para configurações específicas da região, como formatos de data. Por exemplo, se você definir a localidade de data/hora como algo diferente da localidade do sistema, como en-CA se a localidade do sistema for en-US e inserir Toybox -m -i "date:3/7/2008" -Y -s, o SQL retornado será diferente. O SQL de ISearchQueryHelper::GenerateSQLFromUserQuery terá analisado 3/7/2008 de acordo com en-CA (buscando itens datado de 3 de julho, 2008) enquanto o SQL de ISearchQueryHelper terá analisado 7/03/2008 de acordo com en-US (buscando itens datados de 7 de março de 2008).

Confira o exemplo de código DSearch para ver como criar uma classe para um aplicativo de console estático para consultar o Windows Search usando o assembly Microsoft.Search.Interop para ISearchQueryHelper.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP com SP2, Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 com SP1 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho searchapi.h
Redistribuível Pesquisa da Área de Trabalho do Windows (WDS) 3.0

Confira também

ISearchQueryHelper

ISearchQueryHelper::get_QuerySyntax

Consulta do índice de maneira programática

Consultando o índice com a sintaxe SQL do Windows Search