ISearchQueryHelper::GenerateSQLFromUserQuery-Methode (searchapi.h)

Generiert eine strukturierte Abfragesprache -Abfrage (SQL) basierend auf einer vom Client bereitgestellten Abfragezeichenfolge, die entweder in der erweiterten Abfragesyntax (Advanced Query Syntax, AQS) oder der natürlichen Abfragesyntax (NQS) ausgedrückt wird.

Syntax

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

Parameter

[in] pszQuery

Typ: LPCWSTR

Ein Zeiger auf eine Unicode-Zeichenfolge mit NULL-Beendigung, die eine Abfrage in AQS oder NQS enthält.

[out, retval] ppszSQL

Typ: LPWSTR*

Empfängt die Adresse eines Zeigers auf eine SQL-Abfragezeichenfolge basierend auf der Abfrage im pszQuery-Parameter .

Rückgabewert

Typ: HRESULT

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Diese Methode generiert SQL in folgender Form:

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

Die SQL-Generierung verwendet die Einstellungen, die in ISearchQueryHelper::p ut_QueryTermExpansion, ISearchQueryHelper::p ut_QueryContentProperties und ISearchQueryHelper::p ut_QueryContentLocale angegeben sind.

ISearchQueryHelper::GenerateSQLFromUserQuery verwendet regionale Gebietsschemaeinstellungen. ISearchQueryHelper verwendet jedoch nicht die regionalen Gebietsschemaeinstellungen. Infolgedessen gibt es Inkonsistenzen in der SQL-Instanz, die von ISearchQueryHelper::GenerateSQLFromUserQuery und ISearchQueryHelper für regionsspezifische Einstellungen wie Datumsformate zurückgegeben wird. Wenn Sie beispielsweise das Gebietsschema für Datum/Uhrzeit auf etwas anderes als das Systemgebietsschema festlegen, z. B. en-CA, wenn das Systemgebietsschema en-US ist, und eingeben Toybox -m -i "date:3/7/2008" -Y -s, unterscheidet sich die zurückgegebene SQL-Instanz. Sql von ISearchQueryHelper::GenerateSQLFromUserQuery wurde 7.3.2008 gemäß en-CA analysiert (sucht Elemente vom 3. Juli 2008), während die SQL von ISearchQueryHelper am 7.3.2008 gemäß en-US analysiert wurde (suchte Elemente vom 7. März 2008).

Sehen Sie sich das DSearch-Codebeispiel an, um zu sehen, wie Sie eine Klasse für eine statische Konsolenanwendung erstellen, um Windows Search mithilfe der Microsoft.Search.Interop-Assembly für ISearchQueryHelper abzufragen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP mit SP2, Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 mit SP1 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile searchapi.h
Verteilbare Komponente Windows Desktop Search (WDS) 3.0

Weitere Informationen

ISearchQueryHelper

ISearchQueryHelper::get_QuerySyntax

Programm gesteuertes Abfragen des Indexes

Abfragen des Indexes mit der SQL-Syntax von Windows Search