Méthode ISearchQueryHelper ::GenerateSQLFromUserQuery (searchapi.h)
Génère une requête langage SQL (SQL) basée sur une chaîne de requête fournie par le client exprimée en syntaxe de requête avancée (AQS) ou en syntaxe de requête naturelle (NQS).
Syntaxe
HRESULT GenerateSQLFromUserQuery(
[in] LPCWSTR pszQuery,
[out, retval] LPWSTR *ppszSQL
);
Paramètres
[in] pszQuery
Type : LPCWSTR
Pointeur vers une chaîne Unicode terminée par null contenant une requête dans AQS ou NQS.
[out, retval] ppszSQL
Type : LPWSTR*
Reçoit l’adresse d’un pointeur vers une chaîne de requête SQL basée sur la requête dans le paramètre pszQuery .
Valeur retournée
Type : HRESULT
Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.
Remarques
Cette méthode génère SQL sous la forme suivante :
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 génération SQL utilise les paramètres spécifiés dans ISearchQueryHelper ::p ut_QueryTermExpansion, ISearchQueryHelper ::p ut_QueryContentProperties et ISearchQueryHelper ::p ut_QueryContentLocale.
ISearchQueryHelper ::GenerateSQLFromUserQuery utilise les paramètres régionaux régionaux. Toutefois, ISearchQueryHelper n’utilise pas les paramètres régionaux régionaux. Par conséquent, il existe des incohérences dans le SQL retourné par ISearchQueryHelper ::GenerateSQLFromUserQuery et ISearchQueryHelper pour les paramètres spécifiques à la région, tels que les formats de date. Par exemple, si vous définissez les paramètres régionaux pour date/heure sur autre chose que les paramètres régionaux système, par exemple en-CA si les paramètres régionaux système sont en-US, et que vous entrez Toybox -m -i "date:3/7/2008" -Y -s
, le SQL retourné sera différent. Le SQL de ISearchQueryHelper ::GenerateSQLFromUserQuery aura analysé le 7/03/2008 selon en-CA (recherche d’éléments datés du 3 juillet 2008) tandis que le SQL de ISearchQueryHelper aura analysé le 7/07/3/2008 selon en-US (recherche d’éléments datés du 7 mars 2008).
Consultez l’exemple de code DSearch pour voir comment créer une classe pour une application console statique afin d’interroger Windows Search à l’aide de l’assembly Microsoft.Search.Interop pour ISearchQueryHelper.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP avec SP2, Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 avec SP1 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | searchapi.h |
Composant redistribuable | Windows Desktop Search (WDS) 3.0 |
Voir aussi
ISearchQueryHelper ::get_QuerySyntax
Interrogation de l’index programmatiquement
Interrogation de l’index avec la syntaxe SQL de Recherche Windows