C#一次性向数据库插入上万条数据的方法

C#一次性向数据库插入上万条数据的方法图片说明就是这张表,求一下代码的写法

http://blog.sina.com.cn/s/blog_4c6e822d0102e0qu.html

使用SqlBulkCopy 进行批量操作

DateTime begin = DateTime.Now;
string connectionString = "";
using(SqlConnection conn = new SqlConnection(connectionString)){
conn.Open();

            SqlDataAdapter sd = new SqlDataAdapter();
            sd.SelectCommand = new SqlCommand("select top 200 devid,data_time,data_value from CurrentTest", conn);

            DataSet dataset = new DataSet();
            sd.Fill(dataset);
            Random r = new Random(1000);

            sd.UpdateCommand = new SqlCommand("update CurrentTest "
                            + " set data_time = @data_time,data_value = @data_value where devid = @devid", conn);
            sd.UpdateCommand.Parameters.Add("@data_time", SqlDbType.Char, 19, "data_time");
            sd.UpdateCommand.Parameters.Add("@data_value", SqlDbType.Int, 4, "data_value");
            sd.UpdateCommand.Parameters.Add("@devid", SqlDbType.Char, 20, "devid");
            sd.UpdateCommand.UpdatedRowSource = UpdateRowSource.None;
            sd.UpdateBatchSize = 0;
            for (int count = 0; count < 100000;)
            {

                for (int i = 0; i < 200; i++,count++)
                {
                    dataset.Tables[0].Rows[i].BeginEdit();
                    dataset.Tables[0].Rows[i]["data_time"] = "2222-22-22 22:22:22";
                    dataset.Tables[0].Rows[i]["data_value"] = 100;
                    dataset.Tables[0].Rows[i]["devid"] = "DEVID"+count;
                    dataset.Tables[0].Rows[i].EndEdit();
                }
                sd.Update(dataset.Tables[0]);
            }


            dataset.Tables[0].Clear();
            sd.Dispose();
            dataset.Dispose();
            conn.Close();

        }
        TimeSpan ts = DateTime.Now - begin;
        MessageBox.Show("ts = " + ts.TotalMilliseconds);

insert all into TableName(TrackType, DiverName,OreType) values('大别拉斯','张三',1)
into TableName(TrackType, DiverName,OreType) values('大别拉斯','张三',1)
into TableName(TrackType, DiverName,OreType) values('大别拉斯','张三',1)
into TableName(TrackType, DiverName,OreType) values('大别拉斯','张三',1)
into TableName(TrackType, DiverName,OreType) values('大别拉斯','张三',1)
into TableName(TrackType, DiverName,OreType) values('大别拉斯','张三',1)
.....
select 1 from DUAL