SQL Server 大数据量批量插入
private void AddShuJu_Click(object sender, RoutedEventArgs e) { Stopwatch wath = new Stopwatch(); wath.Start(); for (int i = 0; i < 10; i++) { //创建datatable实例 DataTable data = new DataTable(); //填充字段 data = GetFiled(data); for (int count = i * 100000; count < (i + 1) * 100000; count++) { DataRow r = data.NewRow(); r[1] = string.Format("太妙-{0}", count * i); r[2] = string.Format("{0}", "男"); r[3] = i; r[4] = "朝阳"; r[5] = DateTime.Now; data.Rows.Add(r); } SQLHelp.SqlBulk(data); } wath.Stop(); MessageBox.Show("插入完成,共用时间为+" + wath.ElapsedMilliseconds); } //添加必须填写的字段 private DataTable GetFiled(DataTable data) { data.Columns.AddRange(new DataColumn[] { new DataColumn("Id", typeof (int)), new DataColumn("Name", typeof (string)), new DataColumn("Sex", typeof (string)), new DataColumn("Age", typeof (int)), new DataColumn("Address", typeof (string)), new DataColumn("AddTime", typeof (DateTime)) }); return data; }
//批量插入 public static void SqlBulk(DataTable dt) { var con = new SqlConnection(conect); SqlBulkCopy bulk = new SqlBulkCopy(con); //表的名字 bulk.DestinationTableName = "xiao_student"; bulk.BatchSize = dt.Rows.Count; try { con.Open(); if (dt != null && dt.Rows.Count != 0) { bulk.WriteToServer(dt); } } catch (Exception) { throw; } finally { con.Close(); if (bulk!=null) { bulk.Close(); } } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。