private void saveDataSet(DataTable dtEx) { //删除原有的列 SQLHelper.Update("delete from ods"); using (System.Data.SqlClient.SqlConnection sqlconnt = new System.Data.SqlClient.SqlConnection(connString)) { sqlconnt.Open(); DataSet dst = new DataSet(); SqlDataAdapter ad = new SqlDataAdapter("select top 1 * from ods where 1<>1", sqlconnt); SqlCommandBuilder cmd = new SqlCommandBuilder(ad); ad.Fill(dst, tableName); DataTable dtSourcet = dst.Tables[tableName]; //创建没有的列表名 List <string> diffcol = TableOperation.GetDiffColums(dtEx, dtSourcet); if (diffcol.Count > 0)//有不同的列 { TableOperation.AddTableColumn(tableName, connString, diffcol); } } SqlBulkCopyByDatatable(connString, tableName, dtEx); }