Condividi tramite


Metodo ISearchQueryHelper::GenerateSQLFromUserQuery (searchapi.h)

Genera una query Structured Query Language (SQL) basata su una stringa di query fornita dal client espressa nella sintassi di query avanzata (AQS) o nella sintassi della query naturale (NQS).

Sintassi

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

Parametri

[in] pszQuery

Tipo: LPCWSTR

Puntatore a una stringa Unicode con terminazione null contenente una query in AQS o NQS.

[out, retval] ppszSQL

Tipo: LPWSTR*

Riceve l'indirizzo di un puntatore a una stringa di query SQL in base alla query nel parametro pszQuery .

Valore restituito

Tipo: HRESULT

Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Questo metodo genera SQL nel formato seguente:

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 generazione SQL usa le impostazioni specificate in ISearchQueryHelper::p ut_QueryTermExpansion, ISearchQueryHelper::p ut_QueryContentProperties e ISearchQueryHelper::p ut_QueryContentLocale.

ISearchQueryHelper::GenerateSQLFromUserQuery usa le impostazioni locali a livello di area. Tuttavia, ISearchQueryHelper non usa le impostazioni delle impostazioni locali a livello di area. Di conseguenza, sono presenti inconsistenze in SQL restituite da ISearchQueryHelper::GenerateSQLFromUserQuery e ISearchQueryHelper per le impostazioni specifiche dell'area, ad esempio i formati di data. Ad esempio, se si impostano le impostazioni locali per date/ora su un elemento diverso dalle impostazioni locali del sistema, ad esempio en-CA se le impostazioni locali di sistema sono en-US e immettere Toybox -m -i "date:3/7/2008" -Y -s, il sql restituito sarà diverso. SQL da ISearchQueryHelper::GenerateSQLFromUserQuery avrà analizzato 3/7/2008 secondo en-CA (ricerca di elementi datati 3 luglio 2008) mentre SQL da ISearchQueryHelper avrà analizzato 3/7/2008 secondo en-US (ricerca di elementi datati 7 marzo 2008).

Esaminare l'esempio di codice DSearch per vedere come creare una classe per un'applicazione console statica per eseguire query su Windows Search usando l'assembly Microsoft.Search.Interop per ISearchQueryHelper.

Requisiti

Requisito Valore
Client minimo supportato Windows XP con SP2, Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2003 con SP1 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione searchapi.h
Componente ridistribuibile Windows Desktop Search (WDS) 3.0

Vedi anche

ISearchQueryHelper

ISearchQueryHelper::get_QuerySyntax

Esecuzione di query sull'indice a livello di codice

Esecuzione di query sull'indice con sintassi SQL di Windows Search