今天遇到了一个导入类第一次见 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();
示例代码: