Hello ,
my application copy excel data to sql server but I need a rollback when occur an exception
conString = ConfigurationManager.ConnectionStrings["Constring"].ConnectionString;
using (SqlConnection con = new SqlConnection(conString))
{
string query = "TRUNCATE TABLE Recursos_Contabilidad";
SqlCommand com = new SqlCommand(query, con);
con.Open();
com.ExecuteNonQuery();
con.Close();
using (SqlBulkCopy sqlBulkCopy = new SqlBulkCopy(con))
{
//Set the database table name.
sqlBulkCopy.DestinationTableName = "dbo.Recursos_Contabilidad";
//[OPTIONAL]: Map the Excel columns with that of the database table
sqlBulkCopy.ColumnMappings.Add("CÓDIGO EMPRESA", "CÓDIGO_EMPRESA");
sqlBulkCopy.ColumnMappings.Add("AÑO INFORMADO", "AÑO_INFORMADO");
sqlBulkCopy.ColumnMappings.Add("PERÍODO INFORMACIÓN", "PERÍODO_INFORMACIÓN");
sqlBulkCopy.ColumnMappings.Add("CÓDIGO RECURSO", "CÓDIGO_RECURSO");
sqlBulkCopy.ColumnMappings.Add("RECURSO", "RECURSO");
sqlBulkCopy.ColumnMappings.Add("ID CUENTA LIBRO MAYOR", "ID_CUENTA_LIBRO_MAYOR");
sqlBulkCopy.ColumnMappings.Add("MONTO AL 31 DICIEMBRE CUENTA LIBRO MAYOR", "MONTO_AL_31_DICIEMBRE_CUENTA_LIBRO_MAYOR");
con.Open();
try
{
sqlBulkCopy.WriteToServer(dt);
// COMMIT
}
catch (Exception ex)
{
// roll back
}
con.Close();
}
}