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_QueryTermExpansion、 ISearchQueryHelper::p ut_QueryContentProperties 和 ISearchQueryHelper::p ut_QueryContentLocale 中指定的設定。
ISearchQueryHelper::GenerateSQLFromUserQuery 使用區域地區設定。 不過, ISearchQueryHelper 不會使用區域地區設定。 因此, 從 ISearchQueryHelper::GenerateSQLFromUserQuery 和 ISearchQueryHelper 傳回的 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 |