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

时间:2023-03-09 00:14:06
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();

示例代码:

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