DataSet数据集到如到SqlServer数据库中

本文介绍了一种使用SQLBulkCopy类简化从Excel文件导入数据到数据库的过程,通过实例代码详细展示了如何避免手动编写InsertSql语句,确保字段名称匹配,并实现了数据的高效批量导入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接前面的一篇关于导入Excel文件到数据库的操作。首先把Excel文件读到DataSet集合中,然后就有很多方法存入数据库中,在这里有一个很方便的类可以实现DataSet直接导入库中,不用很费劲的拼写InsertSql语句了。需要注意的是,导入数据的字段名称和表里的字段名称必须相同,不一定是全部的字段,可以为部。代码详解:

#region 数据集导入到库里
    public void InsertDBdata(DataTable ds,string tableName)
    {
        SqlConnection scon = null;
      
        try
        {
            scon = ConnectionDB.ConDB();
            scon.Open();
          
            SqlBulkCopy sbc = new SqlBulkCopy(scon);
            sbc.DestinationTableName = tableName;

            DataTable setds=SetFieldName(ds, tableName);

            //将数据集合和目标服务器的字段对应
            for (int q = 0; q < setds.Columns.Count; q++)
            {
                sbc.ColumnMappings.Add(setds.Columns[q].ColumnName, setds.Columns[q].ColumnName);
            }
            sbc.WriteToServer(setds);


        }
        catch (Exception ex)
        {
            throw new Exception(ex.Message, ex);
        }
        finally
        {
            if (scon.State == ConnectionState.Open)
            {
                scon.Close();
            }
        }

    }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值