如何:将数据源列映射到数据集数据表列
更新:2007 年 11 月
在数据适配器中创建映射使您可以在数据源中的列和数据集表中的列之间建立对应。有关更多信息,请参见数据适配器中的表映射。
说明: |
---|
在 Visual Studio 的前一版本中,使用数据适配器在应用程序和数据库之间通信。尽管数据适配器仍是 .NET Framework 数据提供程序 (ADO.NET)的一个主要组件,TableAdapter 是由设计器生成的组件,这些组件简化了在应用程序与数据库之间移动数据的过程。有关使用 TableAdapter 的更多信息,请参见 TableAdapter 概述。 |
将数据源列映射到数据集表
创建一个数据适配器。有关更多信息,请参见创建数据适配器。
在窗体或组件设计器中,选择数据适配器,并打开“属性”窗口。
在 TableMappings 属性旁边,单击省略号(“...”)按钮。“表映射”对话框即打开。
如果想要使数据源中的列名映射到某个现有数据集,请选中“使用数据集以建议表名和列名”,然后从“数据集”列表选择一个数据集。
在“数据集表”列表中列出该数据集内可用的表,且数据集内第一个表中的列填写到“列映射”网格的右侧。
说明: 选择数据集是一个方便的方法,这样使“映射”对话框得以建立让数据集列映射到的默认值。数据集不是为适配器中的映射所维护的信息的组成部分。而且,可以对多个数据集使用相同的映射。
在“源表”下,选择要映射的数据源中的表。如果数据集内只有一个表,则默认值为 Table。
在“数据集表”下,选择要映射的数据集内的表。如果在步骤 3 中选择了要映射到的数据集,则此时应已填写了一个名称。(默认情况下,将数据集内的第一个表当作 Table。)
根据您的选择(或默认值),填写“源列”和“数据集列”列表中的值。网格指示将怎样执行映射:左列中的每一列将与右列中的对应列相匹配。
根据需要调整映射。这可以包括:
选择源列列表或数据集列列表中的不同列以更改列之间的映射。
从映射移除列。当适配器从数据源返回多于所需的列时,可能会进行此操作。
添加列。当知道未在设计时表示的列会在运行时存在,或已删除某个列但现在希望恢复它,或已简化了适配器的查询但现在需要调整映射时,可能会进行此操作。
在完成调整映射后,单击“确定”。
如果想要指定处理可能的错误情况的方式,请在“属性”窗口中选择 MissingMappingAction 和 MissingSchemaAction 属性的选项。下表列出一些常见设置及其效果。
MissingMappingAction
MissingSchemaAction
效果
Add 或者 AddWithKey
如果源中存在某列,但架构中没有该列,并且没有其映射,则将在填充数据集时创建该列。这是默认设置,在只想将源中所有可用的列复制到数据集时很有用。
如果未在数据集架构中定义该列,或没有该列的映射,则不将信息从源复制到数据集。当适配器返回多于数据集内所需的信息时,该设置很有用。
当由于缺少映射或数据集架构不包含某列,使得适配器无法将某源列映射到数据集列时,将引发运行时错误。当正在使用严格定义的架构并希望确保标记出偏离架构的任何内容时,该设置很有用。