C#关于操作Excel数据汇入数据库问题和数据库连接问题

我现在有这样一个功能,我准备使用NPOI读取Excel数据,把每一行读取的数据作为查询条件去查询数据库,如果数据库中存在这一行数据,就把这一行数据中《数量》列的值更新updata到数据库中,如果数据库不存在就插入一条insert到数据库中。
我个人想到的方法就是很正常的去编写:读取数据Excel循环第一行,生成SQL查询数据库,用if判断返回值,如果返回值不为空就调用updata方法,如果为空就调用insert方法,每次执行的时候都会打开数据库连接,关闭数据库连接!然后继续第二行。这样我虽然去没具体试过,但是我知道肯定效能非常差,因为我的Excel有几千行数据,所以求高手指点一下,提供点思路,怎样更合理。

我不是高手,随便说说,希望对你有帮助:
1、如果数据几千行,但估计更新行却不多的情况下,可以在EXCEL行中设置一个列标识是否被更改,这样就只更新或添加发生更改的行了,可大大减少操作数据量。
2、可以使用dataset,不用每次打开关闭数据库的, 总共打开关闭一次就行。
3、也可以将EXCEL表一次性直接插入数据库, 然后再处理重复的行。 这样先只操作EXCEL,后只操作数据库性能应该快些吧。(重复行可以用时间列判断那个是新数据)
温馨提示:答案为网友推荐,仅供参考
相似回答