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::get_QuerySyntax