如何:配置数据适配器的参数

更新:2007 年 11 月

在大多数情况下,数据适配器的 Command 对象(SelectCommandInsertCommandUpdateCommandDeleteCommand)引用需要参数的 SQL 语句或存储过程。如果使用“数据适配器配置向导”来创建适配器,则会自动为您配置这些命令的参数。但是,您可能希望手动配置参数或对现有参数集合做少许更改。

说明:

在 Visual Studio 的前一版本中,使用数据适配器在应用程序和数据库之间通信。尽管数据适配器仍是 .NET Framework 数据提供程序 (ADO.NET) 的一个主要组件,TableAdapter 是由设计器生成的组件,这些组件简化了在应用程序与数据库之间移动数据的过程。有关使用 TableAdapter 的更多信息,请参见 TableAdapter 概述

提示:

若要在对某命令的 SQL 语句进行更改之后配置参数,可以在“查询生成器”中选择“重新生成该命令的参数集合”选项。

说明:

显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您的当前设置或版本。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置

为数据适配器配置参数

  1. 创建一个数据适配器。有关详细信息,请参见创建数据适配器

  2. 在窗体或组件设计器中,选择数据适配器,然后打开“属性”窗口。

  3. 展开要为其配置参数的命令对象(例如 UpdateCommand),然后在 Parameters 属性中单击省略号 (...) 按钮以打开“参数集合编辑器”窗口。

  4. 若要创建新的参数对象,请单击**“添加”**。

  5. 通过单击排序下的箭头移动新参数,将新参数放到其在集合中的正确索引位置。

  6. 若要设置参数属性,请在**“成员”**列表中选择参数,然后使用右边的属性网格。下表列出通常设置的属性。

    属性

    说明

    SourceColumn

    数据集表中某列的名称,将从该列读取参数值。该属性与填充 UPDATE、INSERT 或 DELETE 语句(或等效存储过程)中的值的参数一起使用。

    SourceVersion

    如果参数值是通过 SourceColumn 属性导出的,则 SourceVersion 指定应使用数据集记录的哪个版本作为参数值源:

    • Original - 从数据库中读取列时该列的值。如果您需要使用列值发生更改之前的值,请使用此选项。例如,主键发生了更改,但您却需要使用旧键来查找数据库中的记录。

    • Current - 记录更新之后的列值。通常,此值是要写入到数据库中的值。

    • Default - 在未显式提供任何值的情况下为列设置的值。

    Value

    要为参数设置的显式值。该属性经常在运行时设置,而不是在设计时静态设置。

    如果同时设置了 Value 属性和 SourceColumn 属性,则前者优先于后者。

    NamedParameter

    指示参数是对应于变量(通常具有 @parametername 格式)还是对应于占位符(通常为问号)的布尔值。如果正在操作 SqlConnection 对象并使用命名参数,则将其设置为 true

    DBType、Precision、Scale、Size

    有关参数值的本机数据类型(在数据存储区中)的信息。参数值转换为您指定的类型或从您指定的类型进行转换。

    Direction

    指定是将参数值传递给命令还是从命令传递回来:

    • Input - 此值将传递给命令。这是默认设置。

    • Output - 正在从存储过程传回的值。(不适用于 SQL 语句。)

    • InputOutput - 此值将传递给存储过程并传回(通常带有修改的值)。

    • ReturnValue - 此值为显式返回值。默认情况下,返回的值是参数集合中的第一项(索引值零)。

    ParameterName

    一个名称,通过它可引用集合中的参数来代替通过索引值引用参数。尽管并非必需,但建议使用参数名以便于维护。

  7. 单击“确定”关闭“参数集合编辑器”窗口。

  8. 重复步骤 3 到 7 为其他命令对象配置参数。

请参见

概念

数据适配器命令中的参数