【发布时间】:2014-07-16 21:27:22
【问题描述】:
我正在开发一个上传 EXCEL 文件并将这些记录(表 1)添加/更新到 SQL 服务器的功能。现在我可以使用this link 在 SQL Server 中添加数据了。
但它的作用是截断表并再次添加值。我不想这样做,因为有 30% 的数据是通用的,无法删除。 excel表中有一个名为OSID的字段,在数据库中有一个相同的字段。这是我表中的唯一键。我想要做的是仅更新数据库中与 excel 表中数据库中的键匹配的那些值。
【问题讨论】:
-
你需要做的是准备
merge命令,遍历每个excel行,并执行合并。当该行不存在时,合并添加行。使用参数化查询提高效率。 -
看看里面的代码。它应该(但不)使用截断。它删除所有行,然后在电子表格中插入每一行。我同意@T.S.,为此使用 MERGE。
-
谢谢,我会尝试将这些记录添加到陈述表中,并尝试将记录与联接查询合并。
标签: c# sql sql-server excel asp.net-mvc-4