Selasa, 03 Januari 2012

Transaction

Transaksi didefenisikan sebagai himpunan satu atau lebih pernyataan yang diekseskusi sebagai satu unit, dengan demikian dalam suatu transaksi himpunan pernyataan harus dilaksanakan atau tidak sama sekali. Contoh jika kita ingin menghapus record yang memiliki hubungan master-detail. Proses penghapusan record di tabel master harus disertai dengan record yang berelasi di tabel detail, jika proses penghapusan record pada tabel master gagal proses penghapusan harus dibatalkan seluruhnya agar integritas data tetap terjaga.

Contoh Code


string connStr="Data Source=SYSTEMINTERFACE\\SQLEXPRESS;Initial Catalog=NWIND;"
                                              + "Integrated Security=True";
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
SqlTransaction tx = conn.BeginTransaction();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.Transaction = tx;
try
     {
        cmd.CommandText = "DELETE Orders WHERE OrderID=1";
         cmd.ExecuteNonQuery();
         cmd.CommandText = "DELETE OrderDetails WHERE OrderID=1";
        cmd.ExecuteNonQuery();
        tx.Commit();
      }
catch (SqlException ex)
    {
      Console.WriteLine(ex.Message.ToString());
       tx.Rollback();
      }

Tidak ada komentar:

Posting Komentar