2015-06-12 2 views
0

Мне нужна помощь с этим кодом. Я пытаюсь импортировать в базу данных SQL из excel. Столбец уникален, поэтому, если он обнаруживает дубликаты данных, он игнорирует его. В этом случае вместо игнорирования я хочу, чтобы он обновлял данные, если есть обновление. Вот код;Обновить предыдущую запись, когда я импортирую из базы данных 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"); 
     } 
+0

Загрузите данные в промежуточную таблицу с автоматическим приращением ид. Затем зафиксируйте данные после того, как они находятся в базе данных. –

ответ