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

另请参阅

常规数据库访问函数