用SqlBulkCopy实现批量插入数据
1、建立一张测试表 test
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 }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。