数据库对象

Database 对象可访问安装程序数据库。

当 Database 对象脱离范围或与之关联的对象变量设置为 null 时,将释放该对象。 在释放 Database 对象以写出所有永久性更改之前,必须调用 Commit 方法。 如果未调用 Commit 方法,安装程序将在对象销毁时执行隐式回退。

客户端可以使用以下过程进行数据访问。

查询 API 排序

  1. 通过调用 OpenDatabaseInstaller 对象获取 Database 对象。
  2. 通过调用 Database 对象的 OpenView 方法使用 SQL 字符串启动查询。
  3. Record 对象中设置查询参数,并通过调用 View 对象的 Execute 方法执行数据库查询。 这会生成可提取或可更新的结果。
  4. 重复调用 View 对象的 Fetch 方法以返回 Record 对象。
  5. 使用 View 对象的 Modify 方法更新通过 Fetch 方法获取的 Record 对象的数据库行。
  6. 通过调用 View 对象的 Close 方法释放查询和任何未获取的记录。
  7. 通过调用 Database 对象的 Commit 方法保留所有数据库更新。

成员

Database 对象包含以下类型的成员:

方法

Database 对象包含以下方法。

方法 说明
ApplyTransform 将转换应用于此数据库。
Commit 实现数据库的持久性。
CreateTransformSummaryInfo 创建并填充现有转换文件的摘要信息流。
EnableUIPreview 通过提供查看存储在安装程序数据库中的用户界面对话框所需的支持,促进对话框和广告牌的创作。
导出 将结构和数据从指定表复制到文本存档文件。
GenerateTransform 创建转换。
导入 从文本存档文件导入数据库表。
Merge 将引用数据库与基本数据库合并。
OpenView 返回一个 View 对象,该对象代表由 SQL 字符串指定的查询。

属性

Database 对象包含以下属性。

属性 说明
DatabaseState
返回数据库的持久性状态。
PrimaryKeys
返回一个 Record 对象,该对象包含表名和列名(构成主键)。
SummaryInformation(数据库对象)
返回一个 SummaryInfo 对象,该对象可用于检查和更新属性以及将属性添加到摘要信息流。
TablePersistent
返回表的持久性状态。

要求

要求
版本
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
DLL
Msi.dll
IID
IID_IDatabase 定义为 000C109D-0000-0000-C000-000000000046

另请参阅

Windows Installer 脚本编写示例