用 HostFileDataAdapter.Fill method 数据源中的表列和行填充 DataSet 对象;虽然约束通常由数据源设置,但 Fill 该方法默认情况下不会将此架构信息添加到 DataSet 对象。 若要使用数据源中的现有主键约束信息填充 DataSet 对象,可以调用 HostFileDataAdapter.FillSchema。
注释
如果数据源中的column被标识为自动递增,则FillSchema方法或Fill方法(具有MissingSchemaAction为AddWithKey)将创建一个DataColumn,其AutoIncrement属性设置为true。 但是,必须自行设置 AutoIncrementStep 和 AutoIncrementSeed 值。
使用其他关键约束填充数据集
调用
HostFileDataAdapter.FillSchema,使用目标DataSet架构和包含指定键约束的架构。在将数据填入
DataSet之前添加架构信息,确保主键约束包含在DataTable对象中DataSet对象中。 因此,当再次调用填充DataSet时,主键列信息用于将数据源中的新行与每个DataTable对象中的当前行进行匹配,并且表中的当前数据将被数据源中的数据覆盖。 如果没有架构信息,数据源中的新行将追加到DataSet对象中,从而导致行重复。