栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > asp

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

asp 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

本文实例讲述了Asp.Net使用Bulk实现批量插入数据的方法,分享给大家供大家参考之用。具体方法如下:

主要功能代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Diagnostics;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using Fx678Member.framework.Exceptions;
 
namespace MeiYuanJinYe.Admin.HttpHandler
{
  /// 
  /// CreateAccount 的摘要说明
  /// 
  public class CreateAccount : IHttpHandler
  {
 
    public void ProcessRequest(HttpContext context)
    {
      context.Response.ContentType = "text/plain";
      Guid classRoomId = Guid.Parse(context.Request["ClassRoomId"]);
      int Count = int.Parse(context.Request["Count"]);
      DataTable dt = GetTableSchema();
      Random ran = new Random();
      for (int i = 0; i < Count; i++)//循环往DataTable中赋值
      {
 DataRow r = 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;
    }
 
    public void BulkToDB(DataTable dt)
    {
      SqlConnection sqlConn = new SqlConnection(ConfigurationManager.AppSettings["ConnString"]);
      SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConn);
      bulkCopy.DestinationTableName = "ClassRoomAccount";//数据库表名
      bulkCopy.BatchSize = dt.Rows.Count;
      try
      {
 sqlConn.Open();
 if (dt != null && dt.Rows.Count != 0)
   bulkCopy.WriteToServer(dt);
      }
      catch (Exception ex)
      {
 new AppException("批量生成直播室账号异常", ex);
      }
      finally
      {
 sqlConn.Close();
 if (bulkCopy != null)
   bulkCopy.Close();
      }
    }
 
    public DataTable GetTableSchema()
    {
      DataTable dt = new DataTable();
      dt.Columns.AddRange(new DataColumn[]{ 
 new DataColumn("AccountId",typeof(int)), 
 new DataColumn("AccountName",typeof(string)), 
 new DataColumn("Password",typeof(string)),
 new DataColumn("ClassRoomId",typeof(Guid)),
 new DataColumn("AddDate",typeof(DateTime)),
 new DataColumn("IsActive",typeof(int))
      });//数据库表结构
      return dt;
    }
    public bool IsReusable
    {
      get
      {
 return false;
      }
    }
  }
}

希望本文所述对大家的asp.net程序设计有所帮助。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/57035.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号