SqlBulkCopy批量数据添加到数据库

注:源数据表结构一定要和目标表数据结构一样

/// <summary>
        ///
        /// </summary>
        /// <param name="connectionString">目标连接字符</param>
        /// <param name="TableName">目标表</param>
        /// <param name="dt">源数据</param>
        private bool  SqlBulkCopyByDatatable(string connectionString, string TableName, DataTable dt)
        {
            bool b = false;
            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                using (SqlBulkCopy sqlbulkcopy =new SqlBulkCopy(connectionString, SqlBulkCopyOptions.UseInternalTransaction))
                {
                    try
                    {
                        sqlbulkcopy.DestinationTableName = TableName;
                        for (int i = 0; i < dt.Columns.Count; i++)
                        {
                            sqlbulkcopy.ColumnMappings.Add(dt.Columns[i].ColumnName, dt.Columns[i].ColumnName);
                        }
                        sqlbulkcopy.WriteToServer(dt);
                        b = true;
                    }
                    catch (System.Exception ex)
                    {
                        throw ex;
                    }
                }
            }
            return b;
        }

posted @ 2016-03-15 11:25  weych  阅读(111)  评论(0)    收藏  举报