}}//SetupSchema 创建internal void SetupSchema(SchemaType schemaType, string sourceTableName, bool gettingData, DataColumn parentChapterColumn, object parentChapterValue){ MissingMappingAction action1; MissingSchemaAction action2; if (SchemaType.Mapped == schemaType) { action1 = this.adapter.MissingMappingAction;//确定传入数据没有匹配的表或列时需要执行的操作 action2 = this.adapter.MissingSchemaAction;//确定现有 DataSet 架构与传入数据不匹配时需要执行的操作。 if (!ADP.IsEmpty(sourceTableName)) { this.tableMapping = this.adapter.GetTableMappingBySchemaAction(sourceTableName, sourceTableName, action1);//创建源表和 DataTable 之间的主映射。 goto Label_016D; } if (this.dataTable == null) { goto Label_016D; } int num1 = this.adapter.IndexOfDataSetTable(this.dataTable.TableName); if (-1 != num1) { this.tableMapping = this.adapter.TableMappings[num1]; goto Label_016D; } switch (action1) { case MissingMappingAction.Passthrough://创建源列或源表,并使用其原始名称将其添加到 DataSet。 { this.tableMapping = new DataTableMapping(this.dataTable.TableName, this.dataTable.TableName); goto Label_016D; } case MissingMappingAction.Ignore://忽略没有映射的列或表。 { this.tableMapping = null; goto Label_016D; } case MissingMappingAction.Error://缺少指定的列映射,则生成 InvalidOperationException { throw ADP.MissingTableMappingDestination(this.dataTable.TableName); } } throw ADP.InvalidMappingAction((int) action1); } if (SchemaType.Source != schemaType) { throw ADP.InvalidSchemaType((int) schemaType); } action1 = MissingMappingAction.Passthrough; action2 = MissingSchemaAction.Add; if (!ADP.IsEmpty(sourceTableName)) { this.tableMapping = DataTableMappingCollection.GetTableMappingBySchemaAction(null, sourceTableName, sourceTableName, action1); } else if (this.dataTable != null) { int num2 = this.adapter.IndexOfDataSetTable(this.dataTable.TableName); if (-1 != num2) { this.tableMapping = this.adapter.TableMappings[num2]; } else { this.tableMapping = new DataTableMapping(this.dataTable.TableName, this.dataTable.TableName);////创建源表和 DataTable 之间的主映射。 } }Label_016D: if (this.tableMapping != null) { if (this.dataTable == null) { this.dataTable = this.tableMapping.GetDataTableBySchemaAction(this.dataSet, action2);使用action2的 值获取DataSet的当前 DataTable。可以查看msdn if (this.dataTable == null) &
上一页 [1] [2] [3] [4] 下一页
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18