首页 > 代码库 > ASP.Net 使用SqlBulkCopy批量插入

ASP.Net 使用SqlBulkCopy批量插入

批量插入,以前我的做法是生成一堆insert into的sql语句,然后用程序一次值行,来实现。

今天看到了ASP.Net里可以使用DataTable,先将数据写入到DataTable中,然后使用SqlBulkCopy方法,给他传递一个DataTable类型,他自动会实现批量插入。

速度极快。

 

做法备注一下在这里,以便日后查阅

    protected void Button1_Click(object sender, EventArgs e)        {            //准备要批量插入的数据            DataTable table = new DataTable();            table.Columns.Add("Age");            table.Columns.Add("Name");            DataRow row = table.NewRow();            row["Age"] = 28;            row["Name"] = "Jack";            table.Rows.Add(row);            DataRow row1 = table.NewRow();            row1["Age"] = 29;            row1["Name"] = "Fei";            table.Rows.Add(row1);            string connectionStr = "server=.;database=Demo;uid=sa;pwd=123456";            using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connectionStr))            {                bulkCopy.DestinationTableName = "Person";//在插入的目标表    //DataTable列名与数据库列名的映射                bulkCopy.ColumnMappings.Add("Age", "Age");                bulkCopy.ColumnMappings.Add("Name", "Name");                bulkCopy.WriteToServer(table);//写入到数据库中            }            Response.Write("ok");        }    

 

ASP.Net 使用SqlBulkCopy批量插入