c# SqlBulkCopy实现批量从数据集中把数据导入到数据库中

今天遇到了一个导入类第一次见 SqlBulkCopy 可以实现从一个数据集导入到数据库中的表中 本来想从数据集中一条条遍历insert到库中

有了这个后发现:

只在把表与数据集的列做一下对应关系,再走一个WriteToServer()方法就全进库里了代码如下(con一定要open()):

 using (SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=123;database=oa"))
            {
                con.Open();
                using (SqlBulkCopy sbc = new SqlBulkCopy(con))
                {
                    sbc.DestinationTableName = "a";//要导入表的表名 我这个表就是A
                  
                    SqlBulkCopyColumnMapping mp = new SqlBulkCopyColumnMapping("name", "cCode");//对应关系 我把name 列的值导入到 a的cCode列
                    sbc.ColumnMappings.Add(mp);//添加进去
                    using (SqlDataAdapter adp = new SqlDataAdapter("select name from  dbo.bbsCatalog", con))//把name所在的表 查询到datatable中
                    {
                        DataTable dt = new DataTable();
                        adp.Fill(dt);
                        sbc.WriteToServer(dt);//导入到A表中
                    } 
} } Console.WriteLine(
"成功"); Console.ReadKey();

示例代码:

 

posted @ 2018-11-22 14:51  伪装大牛  阅读(382)  评论(0编辑  收藏  举报