第五節 瞭解事物

來源:互聯網
上載者:User

標籤:style   blog   io   color   使用   sp   on   資料   div   

事務就是真實世界中的一些事件,比如銀行事務,航班預定,資金匯寄等。

事務是一組被當作一個單元執行的操作。它在執行時要麼全部成功,要麼全部失敗。

事務有四個屬性,常稱為ACID。原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)。

  1.原子性:整個事務中的所有操作,要麼全部完成,要麼全部不完成,不可能停滯在中間某個環節。事務在執行過程中發生錯誤,會被復原(Rollback)到事務開始前的狀態,就像這個事務從來沒有執行過一樣。

  2.一致性:在事務開始之前和事務結束以後,資料庫的完整性條件約束沒有被破壞。

  3.隔離性:隔離狀態執行事務,使它們好像是系統在給定時間內執行的唯一操作。如果有兩個事務,運行在相同的時間內,執行相同的功能,事務的隔離性將確保每一事務在系統中認為只有該事務在使用系統。這種屬性有時稱為序列化,為了防止事務操作間的混淆,必須序列化或序列化請求,使得在同一時間僅有一個請求用於同一資料。

  4.持久性:在事務完成以後,該事務所對資料庫所作的更改便持久的儲存在資料庫之中,並不會被復原。

 

ADO.NET中簡單的交易處理:

 using (SqlConnection conn = new SqlConnection(GetConnection()))            {                conn.Open();                //啟動一個事務                using (SqlTransaction transaction = conn.BeginTransaction())                {                    using (SqlCommand cmd = conn.CreateCommand())                    {                        try                        {                            cmd.Transaction = transaction;  //為命令指定事務                            cmd.CommandText = "INSERT INTO tb_user(UserId,UserName) VALUE(‘Id0002‘,‘Name0002‘);";                            cmd.ExecuteNonQuery();                            cmd.CommandText = "INSERT INTO tb_user(UserId,UserName) VALUE(‘Id0008‘,‘Name0008‘);";                            cmd.ExecuteNonQuery();                            transaction.Commit();   //事務提交                            Response.Write("<script>alert(‘成功寫入記錄‘);</script>");                        }                        catch (Exception ex)                        {                            transaction.Rollback(); //交易回復                            Response.Write(ex.Message);                            Response.Write("<script>alert(‘寫入記錄失敗‘);</script>");                        }                    }                }            }

 

第五節 瞭解事物

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.