C# 从excel导入sql数据库时更新以前的记录

C# 从excel导入sql数据库时更新以前的记录,c#,sql,excel,import,sqlbulkcopy,C#,Sql,Excel,Import,Sqlbulkcopy,我需要这个代码的帮助。我正在尝试从excel导入SQL数据库。列被设置为“唯一”,以便在发现重复数据时忽略它。在这种情况下,如果有更新,我希望它更新数据,而不是忽略它。这是代码 if (con.State == ConnectionState.Open) { con.Close(); } con.Open(); if (comboBox1.SelectedItem.ToString() == "Comis

我需要这个代码的帮助。我正在尝试从excel导入SQL数据库。列被设置为“唯一”,以便在发现重复数据时忽略它。在这种情况下,如果有更新,我希望它更新数据,而不是忽略它。这是代码

if (con.State == ConnectionState.Open)
        {
            con.Close();
        }

        con.Open();

        if (comboBox1.SelectedItem.ToString() == "Comissioned Sites")
        {
            string pathConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + txtFilePath.Text + ";Extended Properties=\"Excel 12.0;HDR=Yes;\";";

            // Create Connection to Excel Workbook
            using (OleDbConnection connection = new OleDbConnection(pathConn))
            {
                OleDbCommand command = new OleDbCommand("Select * FROM [" + txtSheet.Text + "$]", connection);

                connection.Open();

                // Create DbDataReader to Data Worksheet
                using (OleDbDataReader dr = command.ExecuteReader())
                {
                    // Bulk Copy to SQL Server
                    using (SqlBulkCopy bulkCopy = new SqlBulkCopy(con))
                    {
                        con.Open();
                        bulkCopy.DestinationTableName = "tblView";
                        bulkCopy.WriteToServer(dr);
                        con.Close();
                    }
                }
            }
            MessageBox.Show("File Imported to Database Successfully");
        }

那么你想要的是一个升级?查看
MERGE


将数据加载到具有自动递增id的暂存表中。然后在数据进入数据库后修复数据。