Sql 批量插入數據


/// <summary>
        /// 批量插入用戶配置
        /// </summary>
        /// <param name="connectionString">目標連接字符</param>
        /// <param name="TableName">目標表</param>
        /// <param name="dt">源數據</param>
        public void SqlBulkCopyByDatatable(string connectionString, string TableName, DataTable dt)
        {
            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);
                    }
                    catch (System.Exception ex)
                    {
                        throw ex;
                    }
                }
            }
        }
View Code
  #region 將List轉換到DataTable

                DataTable dt = new DataTable();
                dt.Columns.Add("RecordNum", typeof(string));
                dt.Columns.Add("UserName", typeof(string));
                dt.Columns.Add("ThemeID", typeof(int));
                dt.Columns.Add("ThemeName", typeof(string));
                dt.Columns.Add("TempID", typeof(int));
                dt.Columns.Add("TempRecordNumberID", typeof(string));
                dt.Columns.Add("TempUrl", typeof(string));
                dt.Columns.Add("ConfigDetail", typeof(string));
                dt.Columns.Add("Remark1", typeof(string));
                dt.Columns.Add("IsDelete", typeof(bool));
                dt.Columns.Add("CreateBy", typeof(string));
                dt.Columns.Add("CreateTime", typeof(DateTime));
                foreach (var p in ucList)
                {
                    DataRow row = dt.NewRow();
                    row["RecordNum"] = p.RecordNum;
                    row["UserName"] = p.UserName;
                    row["ThemeID"] = p.ThemeID;
                    row["ThemeName"] = p.ThemeName;
                    row["TempID"] = p.TempID;
                    row["TempRecordNumberID"] = p.TempRecordNumberID;
                    row["TempUrl"] = p.TempUrl;
                    row["ConfigDetail"] = p.ConfigDetail;
                    row["Remark1"] = p.Remark1;
                    row["IsDelete"] = p.IsDelete;
                    row["CreateBy"] = p.CreateBy;
                    row["CreateTime"] = p.CreateTime;
                    dt.Rows.Add(row);
                }

                #endregion

                //批量保存用戶配置
                string myConn = ConfigurationManager.AppSettings["PortalConnString"].ToString();
                T_COM_UserConfigBll.Instance.SqlBulkCopyByDatatable(myConn, "T_COM_UserConfig", dt);
View Code
<add key="PortalConnString" value="initial catalog=HXPortal;data source=xx.xxx.xx.xx;password=xxxx;User id=xxx;" />
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM