使用英语阅读

通过


使用 SQL 和脚本的数据库查询示例

Windows Installer 软件开发工具包 (SDK) 中以实用工具 WiRunSQL.vbs 的形式提供了使用脚本驱动的数据库查询的示例。 此实用工具使用 SQL 语法部分中所述的 Windows Installer 版本的 SQL 处理数据库查询。

从表中删除记录

以下命令行从 Test.msi 数据库的 Feature 表中删除主键为 RED 的记录。

Cscript WiRunSQL.vbs Test.msi "DELETE FROM `Feature` WHERE `Feature`.`Feature`='RED'"

将表添加到数据库

以下命令行将 Directory 表添加到 Test.msi 数据库。

CScript WiRunSQL.vbs Test.msi "CREATE TABLE `Directory` (`Directory` CHAR(72) NOT NULL, `Directory_Parent` CHAR(72), `DefaultDir` CHAR(255) NOT NULL LOCALIZABLE PRIMARY KEY `Directory`)"

从数据库中移除表

以下命令行从 Test.msi 数据库中移除 Feature 表。

Cscript WiRunSQL.vbs Test.msi "DROP TABLE `Feature`"

向表添加新列

以下命令行将 Test 列添加到 Test.msi 数据库的 CustomAction 表。

CScript WiRunSQL.vbs Test.msi "ALTER TABLE `CustomAction` ADD `Test` INTEGER"

向表中插入新记录

以下命令行将新记录插入 Test.msi 数据库的 Feature 表。

Cscript WiRunSQL.vbs Test.msi "INSERT INTO `Feature` (`Feature`.`Feature`,`Feature`.`Feature_Parent`,`Feature`.`Title`,`Feature`.`Description`, `Feature`.`Display`,`Feature`.`Level`,`Feature`.`Directory_`,`Feature`.`Attributes`) VALUES ('Tennis','Sport','Tennis','Tournament',25,3,'SPORTDIR',2)"

这会将以下记录插入 Test.msi 的 Feature 表。

Feature

功能 Feature_Parent 标题 说明 显示 级别 Directory_ 特性
网球 运动 网球 Tournament 25 3 SPORTDIR 2

 

请注意,不能直接使用 INSERT INTO 或 UPDATE SQL 查询将二进制数据插入表中。 有关信息,请参阅使用 SQL 将二进制数据添加到表

修改表中的现有记录

以下命令行将“Title”字段中的现有值更改为“Performances”。更新的记录将“Arts”作为主键,并且该记录位于 Test.msi 数据库的 Feature 表中。

Cscript WiRunSQL.vbs Test.msi "UPDATE `Feature` SET `Feature`.`Title`='Performances' WHERE `Feature`.`Feature`='Arts'"

选择一组记录

以下命令行选择属于 Test.msi 数据库中 ErrorDialog 的所有控件的名称和类型。

CScript WiRunSQL.vbs Test.msi "SELECT `Control`, `Type` FROM `Control` WHERE `Dialog_`='ErrorDialog' "

将表保存在内存中

以下命令行在内存中锁定 Test.msi 数据库的 Component 表。

CScript WiRunSQL.vbs Test.msi "ALTER TABLE `Component` HOLD"

释放内存中的表

以下命令行从内存中释放 Test.msi 数据库的 Component 表。

CScript WiRunSQL.vbs Test.msi "ALTER TABLE `Component` FREE"