msiViewExecute 函数 (msiquery.h)
MsiViewExecute 函数执行 SQL 视图查询并提供任何必需的参数。 查询使用问号标记来表示 SQL 语法中所述的参数。 这些参数的值作为参数记录的相应字段传入。
语法
UINT MsiViewExecute(
[in] MSIHANDLE hView,
[in] MSIHANDLE hRecord
);
参数
[in] hView
要对其执行查询的视图的句柄。
[in] hRecord
提供参数的记录的句柄。 此参数包含用于替换 SQL 查询中的参数标记的值。 它是可选的,因此 hRecord 可以为零。 有关语法的参考,请参阅 SQL 语法。
返回值
请注意,在内存不足的情况下,此函数可能会引发STATUS_NO_MEMORY异常。
注解
在调用 MsiViewFetch 之前,必须调用 MsiViewExecute 函数。
如果 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 |
Library | Msi.lib |
DLL | Msi.dll |