MsiViewExecute 関数 (msiquery.h)
MsiViewExecute 関数は、SQL ビュー クエリを実行し、必要なパラメーターを指定します。 クエリでは、「 SQL 構文」で説明されているように、疑問符トークンを使用してパラメーターを表します。 これらのパラメーターの値は、パラメーター レコードの対応するフィールドとして渡されます。
構文
UINT MsiViewExecute(
[in] MSIHANDLE hView,
[in] MSIHANDLE hRecord
);
パラメーター
[in] hView
クエリを実行するビューを処理します。
[in] hRecord
パラメーターを提供するレコードを処理します。 このパラメーターには、SQL クエリのパラメーター トークンを置き換える値が含まれています。 これは省略可能であるため、 hRecord は 0 にすることができます。 構文のリファレンスについては、「 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 インストーラー 5.0。 Windows Server 2008 または Windows Vista の Windows インストーラー 4.0 または Windows インストーラー 4.5。 Windows Server 2003 または Windows XP の Windows インストーラー |
対象プラットフォーム | Windows |
ヘッダー | msiquery.h |
Library | Msi.lib |
[DLL] | Msi.dll |