首页 > 代码库 > Asp.Net使用Bulk批量插入数据
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 }
Asp.Net使用Bulk批量插入数据
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。