Asp.Net使用Bulk实现批量插入数据
本文实例讲述了Asp.Net使用Bulk实现批量插入数据的方法,分享给大家供大家参考之用。具体方法如下:
主要功能代码如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Web;
usingSystem.Diagnostics;
usingSystem.Data;
usingSystem.Data.SqlClient;
usingSystem.Configuration;
usingFx678Member.Framework.Exceptions;
namespaceMeiYuanJinYe.Admin.HttpHandler
{
///<summary>
///CreateAccount的摘要说明
///</summary>
publicclassCreateAccount:IHttpHandler
{
publicvoidProcessRequest(HttpContextcontext)
{
context.Response.ContentType="text/plain";
GuidclassRoomId=Guid.Parse(context.Request["ClassRoomId"]);
intCount=int.Parse(context.Request["Count"]);
DataTabledt=GetTableSchema();
Randomran=newRandom();
for(inti=0;i<Count;i++)//循环往DataTable中赋值
{
DataRowr=dt.NewRow();
r[1]=ran.Next(10000000,100000000);
r[2]=ran.Next(10000000,100000000);
r[3]=classRoomId;
r[4]=DateTime.Now;
r[5]=1;
dt.Rows.Add(r);
}
BulkToDB(dt);
context.Response.Write(BulkToDB(dt)?"ok":"error");
context.Session["dataTable"]=dt;
}
publicvoidBulkToDB(DataTabledt)
{
SqlConnectionsqlConn=newSqlConnection(ConfigurationManager.AppSettings["ConnString"]);
SqlBulkCopybulkCopy=newSqlBulkCopy(sqlConn);
bulkCopy.DestinationTableName="ClassRoomAccount";//数据库表名
bulkCopy.BatchSize=dt.Rows.Count;
try
{
sqlConn.Open();
if(dt!=null&&dt.Rows.Count!=0)
bulkCopy.WriteToServer(dt);
}
catch(Exceptionex)
{
newAppException("批量生成直播室账号异常",ex);
}
finally
{
sqlConn.Close();
if(bulkCopy!=null)
bulkCopy.Close();
}
}
publicDataTableGetTableSchema()
{
DataTabledt=newDataTable();
dt.Columns.AddRange(newDataColumn[]{
newDataColumn("AccountId",typeof(int)),
newDataColumn("AccountName",typeof(string)),
newDataColumn("Password",typeof(string)),
newDataColumn("ClassRoomId",typeof(Guid)),
newDataColumn("AddDate",typeof(DateTime)),
newDataColumn("IsActive",typeof(int))
});//数据库表结构
returndt;
}
publicboolIsReusable
{
get
{
returnfalse;
}
}
}
}
希望本文所述对大家的asp.net程序设计有所帮助。
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短