ASP.NET SqlCommandBuilder批量更新Excel/CSV数据方法
SqlCommandBuilder 的自动 SQL 生成能力,真的是 Excel 或 CSV 批量更新时的好帮手。你不用一行行去拼 SQL,省时又省心。像你平时导入表单数据,或者从运营那边拿到成堆 Excel 表的时候,用这个方法就顺手。
SqlCommandBuilder负责自动生成INSERT
、UPDATE
、DELETE
语句,配合SqlDataAdapter
和DataTable
一起用,简直一气呵成。而且更新时还能开SqlTransaction
做事务保障,数据出错了还能回滚,放心多了。
它还考虑了性能问题,设计了一个onceUpdateNumber
参数,控制每次更新多少行——数据多的时候就靠它了,内存不至于炸。更新字段用columnsName
数组,主键用primaryKeyName
指定,这些都写清楚了,不容易出错。
还有一点挺实用,AcceptChangesDuringUpdate
设成false
,意味着你可以先看一眼数据改了啥,再统一提交。比如先比对一下和原表差异,确认无误后再更新,灵活得。
整个思路就是:用DataTable
装数据、用SqlCommandBuilder
生成命令、批量、开事务兜底,再加上参数化查询,安全又高效。你平时有批量更新 Excel 的需求,值得一试。
想扩展下功能的,可以顺手看看这些工具或教程:NPOI 导出 Excel、CSV 互转、Excel 批量上传。这些工具搭配用,效率会更高。
如果你平时 Excel 或 CSV 比较多,又不想写一堆 SQL,那这个方法还挺值得上手试试的。
18.09KB
文件大小:
评论区