·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> Asp.Net使用Bulk批量插入数据

Asp.Net使用Bulk批量插入数据

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

asp.net使用Bulk批量插入数据

 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Diagnostics; 6 using System.Data; 7 using System.Data.SqlClient; 8 using System.Configuration; 9 using Fx678Member.Framework.Exceptions;10  11 namespace MeiYuanJinYe.Admin.HttpHandler12 {13     /// <summary>14     /// CreateAccount 的摘要说明15     /// </summary>16     public class CreateAccount : IHttpHandler17     {18  19         public void PRocessRequest(HttpContext context)20         {21             context.Response.ContentType = "text/plain";22             Guid classRoomId = Guid.Parse(context.Request["ClassRoomId"]);23             int Count = int.Parse(context.Request["Count"]);24             DataTable dt = GetTableSchema();25             Random ran = new Random();26             for (int i = 0; i < Count; i++)//循环往DataTable中赋值27             {28                 DataRow r = dt.NewRow();29                 r[1] = ran.Next(10000000, 100000000);30                 r[2] = ran.Next(10000000, 100000000);31                 r[3] = classRoomId;32                 r[4] = DateTime.Now;33                 r[5] = 1;34                 dt.Rows.Add(r);35             }36             BulkToDB(dt);37             context.Response.Write(BulkToDB(dt) ? "ok" : "error");38             context.session["dataTable"] = dt;39         }40  41  42         public void BulkToDB(DataTable dt)43         {44             SqlConnection sqlConn = new SqlConnection(ConfigurationManager.AppSettings["ConnString"]);45             SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConn);46             bulkCopy.DestinationTableName = "ClassRoomAccount";//数据库表名47             bulkCopy.BatchSize = dt.Rows.Count;48             try49             {50                 sqlConn.Open();51                 if (dt != null && dt.Rows.Count != 0)52                     bulkCopy.WriteToServer(dt);53             }54             catch (Exception ex)55             {56                 new AppException("批量生成直播室账号异常", ex);57             }58             finally59             {60                 sqlConn.Close();61                 if (bulkCopy != null)62                     bulkCopy.Close();63             }64         }65  66         public DataTable GetTableSchema()67         {68             DataTable dt = new DataTable();69             dt.Columns.AddRange(new DataColumn[]{  70                 new DataColumn("AccountId",typeof(int)),  71                 new DataColumn("AccountName",typeof(string)),  72                 new DataColumn("PassWord",typeof(string)),73                 new DataColumn("ClassRoomId",typeof(Guid)),74                 new DataColumn("AddDate",typeof(DateTime)),75                 new DataColumn("IsActive",typeof(int))76             });//数据库表结构77             return dt;78         }79         public bool IsReusable80         {81             get82             {83                 return false;84             }85         }86     }87 }