msidatabaseOpenViewW 函数 (msiquery.h)

MsiDatabaseOpenView 函数准备数据库查询并创建视图对象。 此函数返回应使用 MsiCloseHandle 关闭的句柄。

语法

UINT MsiDatabaseOpenViewW(
  [in]  MSIHANDLE hDatabase,
  [in]  LPCWSTR   szQuery,
  [out] MSIHANDLE *phView
);

参数

[in] hDatabase

要打开视图对象的数据库的句柄。 可以获取句柄,如 获取数据库句柄中所述。

[in] szQuery

指定用于查询数据库的 SQL 查询字符串。 有关正确的语法,请参阅 SQL 语法

[out] phView

指向返回视图的句柄的指针。

返回值

MsiDatabaseOpenView 函数返回以下值之一:

注解

MsiDatabaseOpenView 函数打开数据库的视图对象。 在执行任何执行或提取操作之前,必须打开数据库的视图对象。

如果发生错误,可以调用 MsiGetLastErrorRecord 以获取详细信息。

请注意,建议使用 PMSIHANDLE 类型的变量,因为安装程序在 PMSIHANDLE 对象超出范围时会关闭它们,而必须通过调用 MsiCloseHandle 关闭 MSIHANDLE 对象。 有关详细信息,请参阅 Windows Installer 最佳做法中的使用 PMSIHANDLE 而非 HANDLE 部分。

如果函数失败,可以使用 MsiGetLastErrorRecord 获取扩展的错误信息。

注意

msiquery.h 标头将 MsiDatabaseOpenView 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
最低受支持的客户端 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

另请参阅

常规数据库访问函数