共用方式為


ISearchQueryHelper::GenerateSQLFromUserQuery 方法 (searchapi.h)

根據以進階查詢語法 (AQS) 或 NQS () 表示的用戶端提供的查詢字串,產生 結構化查詢語言 (SQL) (SQL) 查詢。

語法

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

參數

[in] pszQuery

類型: LPCWSTR

以 Null 結尾的 Unicode 字串指標,其中包含 AQS 或 NQS 中的查詢。

[out, retval] ppszSQL

類型: LPWSTR*

根據 pszQuery 參數中的查詢,接收 SQL 查詢字串指標的位址。

傳回值

類型: HRESULT

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

此方法會以下列形式產生 SQL:

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

SQL 產生會使用 ISearchQueryHelper::p ut_QueryTermExpansionISearchQueryHelper::p ut_QueryContentPropertiesISearchQueryHelper::p ut_QueryContentLocale 中指定的設定。

ISearchQueryHelper::GenerateSQLFromUserQuery 使用區域地區設定。 不過, ISearchQueryHelper 不會使用區域地區設定。 因此, 從 ISearchQueryHelper::GenerateSQLFromUserQueryISearchQueryHelper 傳回的 SQL 中有不一致的情況,例如日期格式等區域特定設定。 例如,如果您將日期/時間的地區設定設定為系統地區設定以外的專案,例如 en-CA,如果系統地區設定為 en-US,請輸入 Toybox -m -i "date:3/7/2008" -Y -s,則傳回的 SQL 會有所不同。 ISearchQueryHelper::GenerateSQLFromUserQuery 的 SQL 會根據 en-CA (搜尋 7 月 3 日日期的專案,剖析 3/7/2008, 2008) ,而 ISearchQueryHelper 的 SQL 將會根據 2008 年 3 月 7 日) 的 en-US (搜尋專案剖析 3/7。

請查看 DSearch 程式代碼範例 ,瞭解如何使用 ISearchQueryHelper 的 Microsoft.Search.Interop 元件建立靜態控制台應用程式的類別來查詢 Windows 搜尋。

規格需求

需求
最低支援的用戶端 Windows XP 搭配 SP2、Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 SP1 [僅限傳統型應用程式]
目標平台 Windows
標頭 searchapi.h
可轉散發套件 Windows 桌面搜尋 (WDS) 3.0

另請參閱

ISearchQueryHelper

ISearchQueryHelper::get_QuerySyntax

以程式設計方式查詢索引

使用 Windows 搜尋服務 SQL 語法查詢索引