主頁 > 知識庫 > Asp.Net使用Bulk實現(xiàn)批量插入數(shù)據(jù)

Asp.Net使用Bulk實現(xiàn)批量插入數(shù)據(jù)

熱門標(biāo)簽:柳州電銷機器人公司 百度地圖怎樣做地圖標(biāo)注 騰訊地圖標(biāo)注手機 電銷語音機器人型號參數(shù) 征途美甲店地圖標(biāo)注 太原400電話上門辦理 昆明語音電銷機器人價格 浦發(fā)電話機器人提醒還款 400電話如何申請取消

本文實例講述了Asp.Net使用Bulk實現(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ù)庫表名
      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))
      });//數(shù)據(jù)庫表結(jié)構(gòu)
      return dt;
    }
    public bool IsReusable
    {
      get
      {
        return false;
      }
    }
  }
}

希望本文所述對大家的asp.net程序設(shè)計有所幫助。

您可能感興趣的文章:
  • C#.NET中如何批量插入大量數(shù)據(jù)到數(shù)據(jù)庫中
  • C#/.Net 中快速批量給SQLite數(shù)據(jù)庫插入測試數(shù)據(jù)
  • asp.net新聞列表生成靜態(tài)頁之批量和單頁生成
  • 在ASP.NET 2.0中操作數(shù)據(jù)之六十二:GridView批量更新數(shù)據(jù)
  • 在ASP.NET 2.0中操作數(shù)據(jù)之六十四:GridView批量添加數(shù)據(jù)
  • 在ASP.NET 2.0中操作數(shù)據(jù)之三十七:DataList批量更新
  • ajax readyState的五種狀態(tài)詳解
  • AJAX(XMLHttpRequest.status)狀態(tài)碼
  • javascript學(xué)習(xí)筆記(七)Ajax和Http狀態(tài)碼
  • asp.net線程批量導(dǎo)入數(shù)據(jù)時通過ajax獲取執(zhí)行狀態(tài)

標(biāo)簽:蘭州 新疆 德陽 白山 陽泉 天門 張家界 江蘇

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Asp.Net使用Bulk實現(xiàn)批量插入數(shù)據(jù)》,本文關(guān)鍵詞  Asp.Net,使用,Bulk,實現(xiàn),批量,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Asp.Net使用Bulk實現(xiàn)批量插入數(shù)據(jù)》相關(guān)的同類信息!
  • 本頁收集關(guān)于Asp.Net使用Bulk實現(xiàn)批量插入數(shù)據(jù)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章