几个月前我编写了这个程序,用于分隔这些大.CSV
文件并将它们上传到 SQL Server 数据库中。由于该.CSV
文件基本上每次都附加新数据,因此我只是对其进行了设置,以便每次用户上传数据时,它都会从表中删除所有内容并上传新附加的数据,如下所示:
myConnection.Open();
string sql = @"DELETE FROM TestTable;";
SqlCommand cmd = new SqlCommand(sql, myConnection);
cmd.ExecuteNonQuery();
myConnection.Close();
现在我必须设置它来上传数据而不删除以前的条目到表中,但问题是我不能有重复的数据。幸运的是,该.CSV
文件带有我用作主键的每一行的唯一标识符,但我无法提出算法来执行此操作。是否有类似于DELETE
上述语法的东西可以与 SQL Server 一起使用以仅更新唯一数据?我问你们,因为在 SQL Server 方面我不是最大的专家。
我有几个不同的班级和后台工作人员,所以不想过去所有的代码,因为它很多,但如果你们需要任何细节,请告诉我。
编辑
这里有一个例子:http: //msdn.microsoft.com/en-us/library/y06xa2h1 (v=vs.80).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1
我很确定我需要做什么,但我唯一感到困惑的是什么是 dataSet1 以及它来自哪里?我只是使用连接字符串来打开与 SQL Server 数据库的连接,然后使用它SqlDataAdapter
来执行诸如插入和东西之类的功能。
如果有人对此有任何澄清,那将有很大帮助。
谢谢