Utilizzare le transazioni SQL
public void UpdateWithTransactions()
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "server=NOMEDBSERVER;database=NOMEDB;uid=USERID;pwd=PASSWORD;";
conn.Open();
SqlTransaction trans;
trans = conn.BeginTransaction();
try
{
string sql1 = "Insert INTO Tabella1 (campo) VALUES ('valore')";
string sql2 = "Insert INTO Tabella2 (campo1,campo2) VALUES ('valore1','valore2')";
SqlCommand comm = new SqlCommand();
comm.Connection = conn;
//Inizia la transazione
comm.Transaction = trans;
//prima query
comm.CommandText = sql1;
comm.ExecuteNonQuery();
//seconda query
comm.CommandText = sql2;
comm.ExecuteNonQuery();
//eseguo la transazione
trans.Commit();
Response.Write("Fine elaborazione");
}
catch(SqlException ex)
{
//se si sono verificati errori faccio il rollback
trans.Rollback();
Response.Write(ex.ToString());
}
finally
{
//chiudiamo sempre le connessioni!
conn.Close();
}
}
Scarica il Codice...
Stampa la pagina