用SqlBulkCopy實現批量插入數據


1、建立一張測試表 test

CREATE TABLE test
(
 F_Name NVARCHAR(20) NULL,
 F_Age INT NULL
)
2、SqlBulkCopy批量插入數據
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Text;
 4 using System.Data.SqlClient;
 5 using System.Data;
 6 
 7 namespace sqlbulkcopy
 8 {
 9     class Program
10     {
11         static void Main(string[] args)
12         {
13             DataTable dt = new DataTable();
14             dt.Columns.Add("name", typeof(string));
15             dt.Columns.Add("age", typeof(int));
16 
17             DataRow dr = dt.NewRow();
18             dr["name"] = "李想";
19             dr["age"] = 30;
20             dt.Rows.Add(dr);
21 
22             dr = dt.NewRow();
23             dr["name"] = "陳琦";
24             dr["age"] = 25;
25             dt.Rows.Add(dr);
26 
27             using (System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection("數據庫連接串"))
28             {
29                 conn.Open();
30                 using (System.Data.SqlClient.SqlBulkCopy bulk = new System.Data.SqlClient.SqlBulkCopy(conn))
31                 {
32                     bulk.DestinationTableName = "test"; //要導入的數據表名
33                     bulk.BatchSize = dt.Rows.Count;    //每一批次中的行數
34                     bulk.ColumnMappings.Add("name", "F_Name");    //設置數據源中的列和目標表中的列之間的映射關系
35                     bulk.ColumnMappings.Add("age", "F_Age");
36                     bulk.WriteToServer(dt);
37                     if (bulk != null)
38                     {
39                         bulk.Close();
40                     }
41                 }
42                 conn.Close();
43             }
44         }
45     }
46 }

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM