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