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 的摘要說(shuō)明 /// </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開(kāi)源跨平臺(tái)運(yùn)行服務(wù)插件TaskCore.MainForm
這篇文章主要為大家詳細(xì)介紹了開(kāi)源跨平臺(tái)運(yùn)行服務(wù)插件TaskCore.MainForm的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06asp.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-05asp.net MVC實(shí)現(xiàn)無(wú)組件上傳圖片實(shí)例介紹
無(wú)組件實(shí)現(xiàn)上傳圖片使用input的file作為上傳選擇文件,具體實(shí)現(xiàn)如下:前后臺(tái)代碼很詳細(xì),感興趣的朋友們可不要錯(cuò)過(guò)了哈2013-05-05Visual Studio Debug實(shí)戰(zhàn)教程之基礎(chǔ)入門
這篇文章主要給大家介紹了關(guān)于Visual Studio Debug實(shí)戰(zhàn)教程之基礎(chǔ)入門的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09MVC4制作網(wǎng)站教程第三章 刪除用戶組操作3.4
這篇文章主要為大家詳細(xì)介紹了MVC4制作網(wǎng)站教程,刪除用戶組功能的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08Asp.Net Core 中的“虛擬目錄”實(shí)現(xiàn)
這篇文章主要介紹了Asp.Net Core 中的“虛擬目錄”實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08ASP.NET Core中間件初始化的實(shí)現(xiàn)
在日常使用ASP.NET Core開(kāi)發(fā)的過(guò)程中我們多多少少會(huì)設(shè)計(jì)到使用中間件的場(chǎng)景,本文探究了ASP.NET Core中間件是如何初始化的,感興趣的可以了解一下2021-05-05asp.net 臨時(shí)數(shù)據(jù)保存實(shí)現(xiàn)代碼
在一個(gè)程序運(yùn)行的時(shí)候往往我們會(huì)回到上一個(gè)頁(yè)面,或者我們會(huì)需要當(dāng)時(shí)留在這個(gè)頁(yè)面的臨時(shí)數(shù)據(jù),例如,我們用百度搜索“腳本”之后我們會(huì)看到很多那啥我就不再說(shuō)了??!然后我們返回本來(lái)頁(yè)面在文本框內(nèi)會(huì)有“腳本”的字樣,我們一下代碼段就是實(shí)現(xiàn)這個(gè)功能2012-04-04