SqlBulkCopy快速插入datatable到数据库中参考代码,以及要注意的问题

参考代码如下:

public class Examination
    {
        #region 批量插入一个sheet的专业对应的学科
        /// <summary>
        /// 批量插入一个sheet的专业对应的学科
        /// </summary>
        /// <param name="dt">传入的专业学科信息DataTable</param>
        public void ImportExamination(DataTable dt)
        {
            using (SqlConnection connection = ConnectionFactory.GetConn())
            {                
                using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connection))
                {
                    //表名
                    bulkCopy.DestinationTableName = "Examination";
                    bulkCopy.ColumnMappings.Add(0, "MajorID");//专业id------------很吃惊的一件事儿是 此处对数据库列名大小写敏感 之前因为写成MajorId一直报错
                    bulkCopy.ColumnMappings.Add(1, "Courseid");//学科id
                    bulkCopy.ColumnMappings.Add(2, "TestNum");//考题数目
                    

                    bulkCopy.WriteToServer(dt);
                }
            }
        }
        #endregion
    }

第一 注意数据类型 数据长度,比如我在插入一个数据的时候 遇到了数据库字段只有20长度 汉子却有11个一直报错的问题

第二 对应数据库表里的字段名 大小写不能有出入。

原文地址:https://www.cnblogs.com/wholeworld/p/8891099.html