public void ExecuteDataTable2Table(DataTable dt,string tbName) { SqlBulkCopy sbc = new SqlBulkCopy(conn); sbc.DestinationTableName = tbName; DataTable dtFields = this.ExecuteDataTable("select * from dictionary_V where pcode='" + tbName + "_Fields'"); string guid = Guid.NewGuid().ToString(); dt.Columns.Add(new DataColumn("GUIDStr")); for (int i = 0; i < dt.Rows.Count; i++) { dt.Rows[i]["GUIDStr"] = guid; } for (int i = 0; i < dtFields.Rows.Count; i++) { sbc.ColumnMappings.Add(new SqlBulkCopyColumnMapping(dtFields.Rows[i]["name"].ToString(), dtFields.Rows[i]["code"].ToString())); } sbc.ColumnMappings.Add(new SqlBulkCopyColumnMapping("GUIDStr", "GUID")); sbc.WriteToServer(dt); }