如何:向数据表添加列

创建组成数据表 (DataTable) 的单个列 (DataColumn) 的创建方法是:将这些列添加到数据表 DataColumnCollection。 您可以使用**“数据集设计器”**可视地将列添加到数据表,也可以使用数据向导之一进行添加。 有关如何通过编程将数据列添加到数据表中的更多信息,请参见 Adding Columns to a Table

在添加列后,可以配置它们以满足您的要求。 例如,可以指定某行的默认值或唯一性约束。 您还可以指定显示计算值的列,而不是直接读取数据库中的值。

备注

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

常规任务

任务

支持内容

添加列到表:可以使用“数据集设计器”、“数据源配置向导”或“TableAdapter 配置向导”添加列。

配置 DataColumns: 添加具有默认属性的列。 您可以为各个 DataColumn 自定义设置,以指定其行为。 例如,可以指定某行的数据类型、默认值或约束包含唯一值。 此外,您可以配置数据列,显示计算值,而不是直接读取数据库中的值。

向数据表添加列

在配置 DataColumn 之前,必须首先将其添加到 DataTable。 可以通过使用以下任一过程执行此操作。

使用数据集设计器将列添加到 DataTable

  1. 在**“数据集设计器”**中打开您的数据集。 有关更多信息,请参见如何:在数据集设计器中打开数据集

  2. 右击要添加列的**“DataTable”。 指向“添加”,然后单击“列”**。

  3. 如果需要,通过在数据表中选择列名并编辑文本来替换默认列名。

  4. 在**“属性”**窗口中设置 DataType 属性。

使用数据源配置向导将列添加到 DataTable

  1. 在**“数据源”窗口中,右击数据源,然后单击“使用向导配置数据集”**。

  2. 展开要向其添加列的表。

  3. 选择要添加到表中的列。

  4. 单击**“完成”**。

使用 TableAdapter 配置向导将列添加到 DataTable

  1. 在**“数据集设计器”**中打开您的数据集。 有关更多信息,请参见如何:在数据集设计器中打开数据集

  2. 右击数据表,然后单击**“配置”**。

  3. 将列添加到 SELECT 语句。

  4. 单击**“完成”**。

配置 DataColumns

在添加 DataColumn 后,指定该 DataColumn 的行为。 例如,您可能希望更改数据类型或对其进行限制,以便仅含唯一值。 可以使用以下步骤中的任何一个来修改 DataColumn 行为。

0c5wf85e.collapse_all(zh-cn,VS.110).gif设置 DataColumn 的数据类型

以默认数据类型 String 创建数据列 (DataColumn)。 若要更改列的数据类型,在**“属性”**窗口中设置 DataType 属性。

设置 DataColumn 的数据类型

  1. 在**“数据集设计器”**中打开一个数据集。

  2. 选择要设置数据类型的列。

  3. 在**“属性”**窗口中,从 DataType 列表选择所需数据类型。

0c5wf85e.collapse_all(zh-cn,VS.110).gif指定 DataColumn 的标题

数据列的名称通常不适合显示在用户界面中。 通过在**“属性”**窗口中设置 Caption 属性,可以将标题更改为更合适的名称。

备注

将项目从“数据源”窗口拖到 Windows 应用程序中的窗体上时,特别需要考虑的事项:当发现两个或更多的单词串联在一起时,标题标签中的列名将重新设置格式为更易读的字符串。有关更多信息,请参见 如何:自定义 Visual Studio 创建数据绑定控件的标题的方式

编辑数据列的标题

  1. 在**“数据集设计器”**中打开您的数据集。 有关更多信息,请参见如何:在数据集设计器中打开数据集

  2. 选择想要编辑其标题的列。

  3. 在**“属性”**窗口中,设置 Caption 属性。

0c5wf85e.collapse_all(zh-cn,VS.110).gif指定 DataColumn 包含自动生成序号

数据列 (DataColumn) 通常包括自动生成的序号,例如主键和 ID 列。 通过设置数据列的 AutoIncrementAutoIncrementSeedAutoIncrementStep 属性可将自动生成的序号加载到数据列中。

通过 Visual Studio 设计工具创建数据列时,这些列被自动标记为 AutoIncrement。 更新数据库中包含标识列的表时,不会向数据库发送使用自动编号功能创建的值。

设置数据列包含自动生成的序号

  1. 在**“数据集设计器”**中打开您的数据集。

  2. 选择要用自动生成的序号填充的列。

  3. 在**“属性”**窗口中,设置下列属性:

    属性

    设置

    AutoIncrement

    true

    AutoIncrementSeed

    如果要以不同于默认值 0 的值开始,将该值设置为此列的起始序号。

    AutoIncrementStep

    在每一个新行中,该列的值都按此值递增。

    备注

    设置数据列自动增加不会自动将此列指定为主键。

0c5wf85e.collapse_all(zh-cn,VS.110).gif将默认值分配到数据列

可为数据列分配默认值。 当创建新行(记录)时默认值即被分配到列中。

将默认值分配到数据列

  1. 在**“数据集设计器”**中打开一个数据集。

  2. 选择要分配默认值的列。

  3. 在**“属性”**窗口中,将 DefaultValue 属性设置为所需默认值。

0c5wf85e.collapse_all(zh-cn,VS.110).gif将 DataColumn 约束为包含唯一值

通过向数据表添加唯一约束,可以将 DataColumn 设置为包含唯一值。 唯一约束也称为键。 将列标记为在数据集设计器中主键会创建一个唯一约束

将列约束为包含唯一值

  1. 在**“数据集设计器”**中打开您的数据集。

  2. 右击要约束为唯一值的列。 指向**“添加”,然后单击“键”**。

  3. 确认在**“唯一约束”**对话框中选择了正确的列。

  4. 如果需要,将约束的默认名称替换为更有意义的名称。

0c5wf85e.collapse_all(zh-cn,VS.110).gif在 DataTable 中,将 DataColumn 设置“主键”

将数据列设置为主键保证每条记录均包含唯一值。 只能将一个主键分配给数据表。 使用**“数据集设计器”**创建数据表的主键。

将数据列设置为数据表的主键

  1. 在**“数据集设计器”**中打开您的数据集。

  2. 右击要将其设置为主键的列。 单击**“设置主键”**。

    一个键图标就出现在选定列的旁边。

0c5wf85e.collapse_all(zh-cn,VS.110).gif指定当 DataColumn 的值为 Null 时的返回的值

在类型化数据集内,可控制包含“空”(null) 值的列的表示形式。 只有当通过列的类型化访问器检索列值时才能使用该行为。 如果您通过表的行索引或列索引检索值,将无法设置返回值。 原因是返回此值使用的逻辑内置于生成的数据集类中特定数据列的属性设置程序。

设置当 DataColumn 的值为空时返回的值

  1. 在**“数据集设计器”**中打开该数据集。

  2. 选择数据表中的列。

  3. 在**“属性”窗口中,选择“NullValue”**属性。

  4. 执行下列操作之一

    • 从下拉列表中选择相应的值:

      说明

      (空白)

      返回空值 String.Empty

      (无)

      返回诸如 DBNull 的空值。

      (引发异常)

      空值引发 Exception

      - 或 -

    • 将属性设置为对该列的数据类型有效的任何自定义值。 例如,如果指定字符串“无值”,则对于数据类型为 String 的列而言,该列中任何包含 null 值的记录都会显示“无值”。

配置 DataColumn 以显示表达式

数据集中的数据表可以包含计算值而不是从数据库读取值的列。 例如,在订单明细记录中,定义一个 ExtendedPrice 列可能有意义,即通过将数量和价格相乘,而不是将总价实际存储在记录中。 计算列也可以添加或计数子记录中的值并筛选其他记录。 可以用表达式定义计算列。

表达式的语法由标准运算符组成。 可以用数据值的列名称引用数据值(与在 SQL 语句中一样)并包括 Count 这样的聚合函数。

例如,基于当前记录的 UnitPrice 和 Quantity 列的乘积的 ExtendedPrice 列的表达式可以仅仅是:

UnitPrice * Quantity

若要引用子表中的列,可以使用保留字 Child 后跟列的名称。 例如,下面的表达式返回所有相关子记录中 Price 列的平均值:

Avg(Child.Price)

有关更多信息,请参见 Expression 属性。

可以在数据集设计器中创建表达式列。 有关创建列的更多信息,请参见 如何:向数据表添加列

在数据集设计器中创建列表达式

  1. 在**“数据集设计器”**中打开您的数据集。 有关更多信息,请参见如何:在数据集设计器中打开数据集

  2. 在所需的数据表中,选择要向其添加表达式的列,或向该表中添加一个新列。 有关更多信息,请参见 如何:向数据表添加列

  3. 在**“属性”**窗口的 Expression 属性中,输入一个表达式。

相关主题

类别

主题

概述信息:在 Visual Studio 中了解如何使用数据。

附加程序:: 了解使用数据的其他方法。

Reference: 了解您处理数据时用到的类和成员。