Example #1
0
 /// <summary>
 /// 批量保存多表
 /// </summary>
 /// <param name="dt1"></param>
 /// <param name="TableName"></param>
 /// <returns></returns>
 public void SqlBatchCopy(Dictionary <DataTable, string> dt, ref string str)
 {
     try
     {
         using (IDbConnection conn = dbF.CreateConnection())
         {
             if (conn.State != ConnectionState.Open)
             {
                 conn.Open();
             }
             IDbTransaction trans = conn.BeginTransaction();
             foreach (var item in dt)
             {
                 using (SqlBulkCopy copy = new SqlBulkCopy((SqlConnection)conn, SqlBulkCopyOptions.Default, (SqlTransaction)trans))
                 {
                     for (int i = 0; i < item.Key.Columns.Count; i++)
                     {
                         copy.ColumnMappings.Add(item.Key.Columns[i].ColumnName, item.Key.Columns[i].ColumnName);
                     }
                     copy.DestinationTableName = item.Value;
                     copy.WriteToServer(item.Key);
                 }
             }
             trans.Commit();
         }
     }
     catch (Exception ex)
     {
         str = "添加失败";
         LogNet.ErrorInfo(ex.ToString());
         throw;
     }
 }