当我从 excel 导入到 sql 数据库时更新以前的记录

本文关键字:更新 记录 数据库 sql excel 导入 | 更新日期: 2023-09-27 17:55:36

我需要有关此代码的帮助。我正在尝试从 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");
        }

当我从 excel 导入到 sql 数据库时更新以前的记录

所以你想要的是一个更新器?看看MERGE

合并 - MSDN