用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 }

 

  

用SqlBulkCopy实现批量插入数据,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。