Winform开发框架之通用数据导入导出操作的事务性操作完善2014-03-26 cnblogs 伍华聪1、通用数据导入导出操作模块回顾在我的Winfrom开发框架里面,有一个通用的导入模块,它在默默处理这把规范的Excel数据导入到不 同的对象表里面,一直用它来快速完成数据导入的工作。很早在随笔《Winform开发框架之通用数据导入 导出操作》里面就很全面的介绍过它的相关功能了,在代码生成工具Database2Sharp里面,生成的 Winfrom界面代码也已经把它的调用代码放进去了,因此使用起来真是很好,很开心。

在不断的项目实践中,发现使用基于Sqlite的客户端作为单机版的操作也越来越多,因此大批量的数 据导入,也是经常碰到的事情,我们知道,SqlServer批量插入数据会很快,即使你没有使用事务,一条 条的插入,大批量也会比较快,这个可能得益于SqlServer本身的事务优化效果。但是作为单机版的数据 库,Sqlite每次操作都是单独一个事务的,插入一条数据效率可能不明显,如果操作一千条,一万条, 数据的缓慢就很明显,甚至不可忍耐了。我曾经在《使用事务操作SQLite数据批量插入,提高数据批量 写入速度,源码讲解》里面提到了批量插入通用字典模块的字典数据,使用事务前后批量插入数据,那 个速度可是差别很大。

基于以上的因素考虑,决定对通用的数据导入模块进行事务性的优化,以便适应我频繁使用Sqlite数 据库大批量导入数据的情况,提高客户的良好体验。本篇主要基于事务性操作的完善,实现基于Sqlite 数据的批量快速导入操作。