在 Dreamweaver 中使用 ASP 命令修改数据库

上次更新日期: 2024年4月25日

了解如何在 Dreamweaver 中使用 ASP 命令修改数据库以及添加和运行预存过程。

注释

用户界面已经在 Dreamweaver 和更高版本中做了简化。 因此,您可能在 Dreamweaver 和更高版本中找不到本文中描述的一些选项。 有关详细信息,请参阅此文章

关于 ASP 命令对象

ASP 命令对象是在数据库上执行某些操作的服务器对象。\n该对象可以包含\n任何有效的 SQL 语句,包括返回记录集的语句,\n或在数据库中插入、更新或删除记录的语句。如果 SQL\n语句在表中添加或删除列,\n命令对象可以更改数据库的结构。您还可以使用\n命令对象在数据库中运行存储过程。

命令对象可以重复使用,即应用程序\n服务器可以重复使用对象的单个编译版本来多次执行\n命令。通过将 Command 对象的 Prepared 属性设置为 true,\n可以使命令重复使用,如以下 VBScript 语句所示:

mycommand.Prepared = true

如果您知道命令将被执行多次,使用对象的单个编译版本可以使数据库操作更高效。

注释

并不是所有数据库提供程序都支持已准备命令。 如果您的数据库不支持此功能,当您将此属性设置为 true 时,可能会返回错误。它甚至可能忽略\n准备命令的请求并将 Prepared 属性\n设置为 false

命令对象由 ASP 页面上的脚本创建,但 Dreamweaver 让您无需编写一行 ASP 代码即可创建命令对象。\n

使用 ASP 命令修改数据库

您可以使用 Dreamweaver 来\n创建在数据库中插入、更新或删除记录\n的 ASP 命令对象。您为命令对象提供 SQL 语句\n或存储过程来对数据库执行操作。

在 Dreamweaver 中,打开\n将运行命令的 ASP 页面。
打开"服务器行为"面板("窗口">\n"服务器行为"),单击加号 (+) 按钮,然后选择"Command"。
为命令输入名称,选择到\n包含您要编辑的记录的数据库的连接,并选择\n您希望命令执行的编辑操作(插入、\n更新或删除)。

Dreamweaver 根据您选择的操作类型生成 SQL 语句。例如,如果您选择\n"Insert",对话框如下所示:

输入 ASP 命令
输入 ASP 命令

完成 SQL 语句。

有关编写修改数据库的 SQL 语句的信息,\n请查阅 Transact‑SQL 手册。

使用“变量”区域定义任何 SQL 变量。 提供\n名称和运行时值。指定每个\n变量的类型和大小可防止注入攻击。

以下示例显示了包含三个 SQL 变量的 Insert 语句。这些变量的值由\n传递到页面的 URL 参数提供,如"变量"区域的"运行时\n值"列中所定义。

图示为一个包含三个 SQL 变量的 Insert 语句
图示为一个包含三个 SQL 变量的 Insert 语句

要\n获取"大小"值,请使用 Dreamweaver 中的"数据库"面板。在"数据库"\n面板中找到您的数据库并展开它。接下来,找到您要使用的表格并展开它。表中会列出各个字段的大小。 例如,它可能显示 ADDRESS (WChar 50)。在本例中,50 就是大小值。 您还可以在数据库应用程序中找到大小。

注释

数值、布尔值和日期/时间数据类型始终使用 -1 作为大小。

要确定 Type 值,请参阅下表:

数据库中的类型

Dreamweaver 中的类型

大小

数字(MS Access、MS SQL Server、MySQL)

双精度

-1

布尔值,是/否(MS Access、MS SQL Server、MySQL)

双精度

-1

日期/时间(MS Access、MS SQL Server、MySQL)

DBTimeStamp

-1

所有其他类型的文本字段,包括 MySQL 文本数据类型 char、varchar 和 longtext

LongVarChar

检查数据库表

Text(MS Access)或 nvarchar、nchar(MS SQL Server)

VarWChar

检查数据库表

Memo(MS Access)、ntext(MS SQL Server)或支持大量文本的字段

LongVarWChar

1073741823

有关 SQL 变量类型和大小的更多信息,请参阅 www.adobe.com/go/4e6b330a

关闭对话框。

Dreamweaver 在您的页面中插入 ASP 代码,该代码在服务器上运行时会创建一个命令,用于在数据库中插入、更新或删除记录。

默认情况下,代码将 Command 对象的 Prepared 属性设置为 true,这使得应用程序服务器在每次运行命令时都重复使用该对象的单个编译版本。要更改此设置,请切换到"代码"视图,并将 Prepared 属性更改为

创建一个包含 HTML 表单的页面,以便用户可以输入记录数据。在 HTML 表单中,包含三个文本字段(txtCity、txtAddress 和 txtPhone)和一个提交按钮。该表单使用 GET 方法,并将文本字段值提交到包含您命令的页面。

关于预存过程

虽然您可以使用服务器行为来构建修改数据库的页面,但您也可以使用数据库操纵对象(如存储过程或 ASP 命令对象)来构建这些页面。

存储过程是一个可重复使用的数据库项目,可对数据库执行某些操作。存储过程包含 SQL 代码,这些代码除其他功能外,还可以插入、更新或删除记录。存储过程还可以更改数据库本身的结构。例如,您可以使用存储过程添加表列,甚至删除表。

存储过程还可以调用另一个存储过程,以及接受输入参数并以输出参数的形式向调用过程返回多个值。

存储过程是可重复使用的,这意味着您可以重复使用该过程的单个编译版本来多次执行数据库操作。如果您知道某个数据库任务将被执行多次,或者同一任务将被不同的应用程序执行,那么使用存储过程来执行该任务可以使数据库操作更加高效。

注释

MySQL 和 Microsoft Access 数据库不支持存储过程。

添加存储过程 (ColdFusion) (CS6)

您可以使用存储过程来修改数据库。存储过程是一个可重用的数据库项,它对数据库执行某些操作。

在使用存储过程修改数据库之前,请确保存储过程包含以某种方式修改数据库的 SQL。要在数据库中创建和存储一个对象,请查询数据库文档和优秀的 Transact-SQL 手册。

在 Dreamweaver 中,打开将运行存储过程的页面。
在"绑定"面板("窗口">"绑定")中,单击加号 (+) 按钮,然后选择"存储过程"。
在"数据源"弹出菜单中,选择到包含存储过程的数据库的连接。
输入 ColdFusion 数据源的用户名和密码。
从"过程"弹出菜单中选择一个存储过程。

Dreamweaver 会自动填入任何参数。

选择一个参数,如果需要进行更改,请单击"编辑"。

即会出现“编辑预存过程变量”对话框。 正在编辑的变量名显示在“名称”框中。

注释

您必须为任何存储过程输入参数输入测试值。

按需要进行更改:
  • 从弹出菜单中选择一个方向。 存储过程可能具有输入值、输出值或兼具输入值和输出值。

  • 从弹出菜单中选择 SQL 类型。 输入返回变量、运行时值和测试值。

如果存储过程接受参数,请单击加号 (+) 按钮添加页面参数。
注释

您必须为每个存储过程参数返回值输入相应的页面参数。除非有相应的返回值,否则不要添加页面参数。

如有必要,再次单击加号 (+) 按钮添加另一个页面参数。

选择一个页面参数,如有必要单击减号 (-) 按钮删除该参数,或单击"编辑"对参数进行更改。
选择"返回名为的记录集"选项,然后输入记录集的名称;如果存储过程返回记录集,请单击"测试"按钮查看存储过程返回的记录集。

Dreamweaver 运行存储过程并显示记录集(如果有的话)。

注释

如果存储过程返回记录集并接受参数,则必须在"变量"框的"默认值"列中输入一个值来测试存储过程。

注释

您可以使用不同的测试值生成不同的记录集。要更改测试值,请单击"参数"的"编辑"按钮并更改测试值,或单击"页面参数"的"编辑"按钮并更改默认值。

如果存储过程返回状态代码返回值,请选择"返回状态代码命名"选项,输入\n状态代码的名称。单击“确定”。

关闭对话框后,Dreamweaver 会在页面中插入 ColdFusion 代码,当代码在服务器上运行时调用数据库中的存储过程。反过来,存储过程\n会执行数据库操作,例如插入记录。

如果\n存储过程需要参数,您可以创建一个页面来\n收集参数值并将它们提交到包含\n存储过程的页面。例如,您可以创建一个使用 URL\n参数或 HTML 表单从用户收集参数值的页面。

运行存储过程 (ASP) (CS6)

对于 ASP 页面,您必须向页面添加命令\n对象才能运行存储过程。有关命令对象的更多信息,请参阅关于 ASP 命令对象

在 Dreamweaver 中,打开\n将运行存储过程的页面。
在"Bindings"面板("窗口">"Bindings")中,\n单击加号 (+) 按钮,然后选择"命令(存储过程)"。

即会出现“命令”对话框。

输入命令的名称,选择到\n包含存储过程的数据库的连接,然后从"类型"弹出菜单中选择"存储\n过程"。
通过在"数据库项目"框中展开"存储\n过程"分支,从列表中选择存储\n过程,然后单击"过程"按钮来选择您的存储过程。
在“变量”表格中输入任何所需的参数。

不需要为任何 RETURN_VALUE 变量输入任何参数。

单击“确定”。

关闭对话框后,ASP 代码将插入到\n您的页面中。当代码在服务器上运行时,会创建一个命令对象,该对象在数据库中运行存储过程。反过来,\n存储过程会执行数据库操作,例如\n插入记录。

默认情况下,代码将 Command 对象的 Prepared 属性设置为 true,这使得应用程序服务器在每次运行存储过程时都重用对象的单个编译版本。如果您知道命令将被执行\n多次,拥有对象的单个编译版本可以\n提高数据库操作的效率。但是,如果命令\n只会被执行一次或两次,使用一个版本实际上可能会\n减慢您的 Web 应用程序,因为系统必须暂停来\n编译命令。要更改设置,请切换到"代码"视图\n并将 Prepared 属性更改为

注释

并非\n所有数据库提供程序都支持预编译命令。如果您的数据库不支持它,您在运行页面时可能会收到错误消息。切换到"代码"视图并将 Prepared 属性更改为

如果\n存储过程需要参数,您可能需要创建一个页面来\n收集参数值并将它们提交到包含\n存储过程的页面。例如,您可以创建一个使用 URL\n参数或 HTML 表单从用户收集参数值的页面。