private void button1_Click(object sender, EventArgs e)
{ //1.0 构建一个内存表一定要和Users表的结构保持一致,除了自增的主键外 DataTable tb = new DataTable(); //2.0 如何向tb中加入一个名词为UName的字符串类型的字段 tb.Columns.Add("UName1", typeof(string));//3.0 向tb中插入1W条数据
DataRow dr; System.Diagnostics.Stopwatch st = new System.Diagnostics.Stopwatch(); st.Start(); for (int i = 1; i <= 100 * 100; i++) { //根据内存表的结构创建一个行对象 dr = tb.NewRow(); dr["UName1"] = "测试" + i; //将行对象加入到内存表中 tb.Rows.Add(dr); }st.Stop();
MessageBox.Show("1W条数据构成耗时:" + st.ElapsedMilliseconds + "毫秒");string connString = "server=.;database=userinfo18;uid=sa;pwd=master;";
st.Start(); //开始计时
using (System.Data.SqlClient.SqlBulkCopy copy = new System.Data.SqlClient.SqlBulkCopy(connString)) { //3.0 告诉copy当前tb中的数据是插入到Users表中 copy.DestinationTableName = "Users";//4.0 告诉copy对象,将tb中的UName列的值插入到Users表的Uname中
copy.ColumnMappings.Add("UName1", "UName");//5.0 批量插入
copy.WriteToServer(tb); } //结束计时 st.Stop();//时间间隔打印
MessageBox.Show("1W条数据成功插入,耗时:" + st.ElapsedMilliseconds + "毫秒"); }