Asp.Net使用Bulk實(shí)現(xiàn)批量插入數(shù)據(jù)
本文實(shí)例講述了Asp.Net使用Bulk實(shí)現(xiàn)批量插入數(shù)據(jù)的方法,分享給大家供大家參考之用。具體方法如下:
主要功能代碼如下:
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();
for (int i = 0; i < Count; i++)//循環(huán)往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";//數(shù)據(jù)庫(kù)表名
bulkCopy.BatchSize = dt.Rows.Count;
try
{
sqlConn.Open();
if (dt != null && dt.Rows.Count != 0)
bulkCopy.WriteToServer(dt);
}
catch (Exception ex)
{
new AppException("批量生成直播室賬號(hào)異常", 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))
});//數(shù)據(jù)庫(kù)表結(jié)構(gòu)
return dt;
}
public bool IsReusable
{
get
{
return false;
}
}
}
}
希望本文所述對(duì)大家的asp.net程序設(shè)計(jì)有所幫助。
相關(guān)文章
Asp.net core WebApi 使用Swagger生成幫助頁(yè)實(shí)例
本篇文章主要介紹了Asp.net core WebApi 使用Swagger生成幫助頁(yè)實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-04-04
開源跨平臺(tái)運(yùn)行服務(wù)插件TaskCore.MainForm
這篇文章主要為大家詳細(xì)介紹了開源跨平臺(tái)運(yùn)行服務(wù)插件TaskCore.MainForm的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
asp.net中倒計(jì)時(shí)自動(dòng)跳轉(zhuǎn)頁(yè)面的實(shí)現(xiàn)方法(使用javascript)
本篇文章介紹了,asp.net中倒計(jì)時(shí)自動(dòng)跳轉(zhuǎn)頁(yè)面的實(shí)現(xiàn)方法(使用javascript)。需要的朋友參考下2013-05-05
asp.net MVC實(shí)現(xiàn)無(wú)組件上傳圖片實(shí)例介紹
無(wú)組件實(shí)現(xiàn)上傳圖片使用input的file作為上傳選擇文件,具體實(shí)現(xiàn)如下:前后臺(tái)代碼很詳細(xì),感興趣的朋友們可不要錯(cuò)過了哈2013-05-05
Visual Studio Debug實(shí)戰(zhàn)教程之基礎(chǔ)入門
這篇文章主要給大家介紹了關(guān)于Visual Studio Debug實(shí)戰(zhàn)教程之基礎(chǔ)入門的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09
MVC4制作網(wǎng)站教程第三章 刪除用戶組操作3.4
這篇文章主要為大家詳細(xì)介紹了MVC4制作網(wǎng)站教程,刪除用戶組功能的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08
Asp.Net Core 中的“虛擬目錄”實(shí)現(xiàn)
這篇文章主要介紹了Asp.Net Core 中的“虛擬目錄”實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
ASP.NET Core中間件初始化的實(shí)現(xiàn)
在日常使用ASP.NET Core開發(fā)的過程中我們多多少少會(huì)設(shè)計(jì)到使用中間件的場(chǎng)景,本文探究了ASP.NET Core中間件是如何初始化的,感興趣的可以了解一下2021-05-05
asp.net 臨時(shí)數(shù)據(jù)保存實(shí)現(xiàn)代碼
在一個(gè)程序運(yùn)行的時(shí)候往往我們會(huì)回到上一個(gè)頁(yè)面,或者我們會(huì)需要當(dāng)時(shí)留在這個(gè)頁(yè)面的臨時(shí)數(shù)據(jù),例如,我們用百度搜索“腳本”之后我們會(huì)看到很多那啥我就不再說了??!然后我們返回本來(lái)頁(yè)面在文本框內(nèi)會(huì)有“腳本”的字樣,我們一下代碼段就是實(shí)現(xiàn)這個(gè)功能2012-04-04

