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
 {
     /// <summary>
     /// CreateAccount 的摘要说明
     /// </summary>
     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();
             ; i < Count; i++)//循环往DataTable中赋值
             {
                 DataRow r = dt.NewRow();
                 r[] = ran.Next(, );
                 r[] = ran.Next(, );
                 r[] = classRoomId;
                 r[] = DateTime.Now;
                 r[] = ;
                 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();
                 )
                     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使用Bulk批量插入数据的更多相关文章

  1. asp.net Ibatis.net 批量插入数据ORACLE

    在开发中我们有时会遇到需要批量插入数据,最普通的就是每次 插入一条.但是当数据量大道一定的地步会很影响性能.下面例子示范了ibatis.net批量插入 ibatis.net 的XML文件里面使用ite ...

  2. php-elasticsearch bulk批量插入数据

    1.单条插入 <?php include '../vendor/Elasticsearch/autoload.php'; $a['hosts'] = array( #需要用户名时 http:// ...

  3. sql 中的Bulk和C# 中的SqlBulkCopy批量插入数据 ( 回顾 and 粗谈 )

    通常,我们会对于一个文本文件数据导入到数据库中,不多说,上代码. 首先,表结构如下.   其次,在我当前D盘中有个文本文件名为2.txt的文件. 在数据库中,可以这样通过一句代码插入. Bulk in ...

  4. C#批量插入数据到Sqlserver中的四种方式

    我的新书ASP.NET MVC企业级实战预计明年2月份出版,感谢大家关注! 本篇,我将来讲解一下在Sqlserver中批量插入数据. 先创建一个用来测试的数据库和表,为了让插入数据更快,表中主键采用的 ...

  5. C#批量插入数据到Sqlserver中的三种方式

    本篇,我将来讲解一下在Sqlserver中批量插入数据. 先创建一个用来测试的数据库和表,为了让插入数据更快,表中主键采用的是GUID,表中没有创建任何索引.GUID必然是比自增长要快的,因为你生 成 ...

  6. SQLServer 批量插入数据的两种方法

    SQLServer 批量插入数据的两种方法-发布:dxy 字体:[增加 减小] 类型:转载 在SQL Server 中插入一条数据使用Insert语句,但是如果想要批量插入一堆数据的话,循环使用Ins ...

  7. C#_批量插入数据到Sqlserver中的四种方式

    先创建一个用来测试的数据库和表,为了让插入数据更快,表中主键采用的是GUID,表中没有创建任何索引.GUID必然是比自增长要快的,因为你生成一个GUID算法所花的时间肯定比你从数据表中重新查询上一条记 ...

  8. SQLServer使用表值参数,高性能批量插入数据

    记得前段时间帮同事写了个解析账号并入库的小工具,来批量导入账号信息,账号量相当大,程序每读取一条记录便执行一次insert来插入数据,整整跑了一下午才把账号全部入库. 今天又接到同事类似的需求,不过这 ...

  9. C# 之 批量插入数据到 SQLServer 中

    创建一个用来测试的数据库和表,为了让插入数据更快,表中主键采用的是GUID,表中没有创建任何索引.GUID必然是比自增长要快.而如果存在索引的情况下,每次插入记录都会进行索引重建,这是非常耗性能的.如 ...

随机推荐

  1. linux 系统下配置安装 java jdk 图文流程

    先查看一下系统版本,本例采用的操作系统是CentOS 6.5: 如果你是初装之后的操作系统,那么有可能wget这个组件是不存在的,所以你要安装一下它,这样才可以让你从网上down下你要的安装包: 上面 ...

  2. HTML 表单与输出

    我们先来设置一个简单的表单 <!doctype html><html><head> <meta charset="utf-8"> & ...

  3. IT定理:摩尔定理,安迪-比尔定理,反摩尔定理

    前两天在网上不经意间搜到了一本吴军的<浪潮之巅>,讲的是现代国际上计算机界的各大公司的兴衰沉浮,包括AT&T公司与IBM等等,把它当作IT历史书看,到现在已经看了一部分了.其中,我 ...

  4. Ext树控件第一次勾选父节点子节点没选中

    项目中同事提出了这样一个bug 问题: 第一次勾选父节点子节点竟然没选中,逆天了啊 初步分析: 可能是之前代码的逻辑错误造成的,随进入调试阶段... 调试中发现该参数为空(原来写代码的也太没素质了), ...

  5. WebBrowser如何获取提交的数据

    WebBrowser 其实是对 ActiveX 控件 SHDocVw 的封装,而这个SHDocVw的很多底层调用WebBrowser控件并没有提供实现,你这个应用需要直接操作 SHDoceVw 控件才 ...

  6. WebBrowser中取对应的图片资源

    在客户端中使用webbrower控件,控件中已显示网页,对应的图片资源应已下载完,下面从缓存中找到图片资源,两种方法都可 1.GetUrlCacheEntryInfo http://msdn.micr ...

  7. JQuery easyui (1) Draggable(拖动)组件

    很不习惯这种强迫式的学习,但谁叫我不是老师了,所以还是决定坚持练习,顺带为博客加点东西.虽然我还是很反感短时间内惯性的去熟悉一个工具. easyui做为一个封装了JQusey的UI插件,其实还是蛮好用 ...

  8. sshfs远程文件系统挂载

    注意:转载请注明出处: http://www.programfish.com/blog/?p=145 sshfs简介: 一种通过SSH协议访问远程文件系统的用户空间文件系统.可以把远程主机上的文件系统 ...

  9. pyspider安装后,点击run,报pyhton has stop working或python已停止运行的错误

    问题解决虽然只有几句话,但是背后花了一天时间,各种FQ搜索. pyspider目测只支持32位的系统,所以你下载32位的python安装就行了,然后安装pyspider运行就没有问题了,坑爹啊---- ...

  10. Html 编码 queryUrl = encodeURI(queryUrl);

    Html  编码 queryUrl = encodeURI(queryUrl);