msiViewExecute 函式 (msiquery.h)

MsiViewExecute 函式會執行 SQL 檢視查詢,並提供任何必要的參數。 查詢會使用問號標記來表示 SQL 語法中所述的參數。 這些參數的值會當做參數記錄的對應欄位傳入。

語法

UINT MsiViewExecute(
  [in] MSIHANDLE hView,
  [in] MSIHANDLE hRecord
);

參數

[in] hView

要對其執行查詢之檢視的句柄。

[in] hRecord

提供參數的記錄句柄。 此參數包含值,可取代 SQL 查詢中的參數標記。 這是選擇性的,因此 hRecord 可以是零。 如需語法的參考,請參閱 SQL 語法

傳回值

請注意,在記憶體不足的情況下,此函式可能會引發STATUS_NO_MEMORY例外狀況。

備註

必須先呼叫 MsiViewExecute 函式,再呼叫 MsiViewFetch

如果 SQL 查詢指定參數標記的值 (?) ,則必須提供一筆記錄,其中包含以確切順序和相容數據類型的所有取代值。 搭配 INSERT 和 UPDATE 查詢使用時,所有參數化值都必須在所有非參數化值之前。

例如,這些查詢有效。

UPDATE {table-list} SET {column}= ? ,{column}= {constant}

INSERT INTO {table} ({column-list}) VALUES (?, {constant-list})

不過,這些查詢無效。

UPDATE {table-list} SET {column}= {constant}, {column}=?

INSERT INTO {table} ({column-list}) VALUES ({constant-list}, ?)

如果函式失敗,您可以使用 MsiGetLastErrorRecord 來取得擴充的錯誤資訊。

規格需求

需求
最低支援的用戶端 Windows Server 2012、Windows 8、Windows Server 2008 R2 或 Windows 7 上的 Windows Installer 5.0。 Windows Server 2008 或 Windows Vista 上的 Windows Installer 4.0 或 Windows Installer 4.5。 Windows Server 2003 或 Windows XP 上的 Windows Installer
目標平台 Windows
標頭 msiquery.h
程式庫 Msi.lib
Dll Msi.dll

另請參閱

一般數據庫存取函式