.Net事務基礎知識講解

來源:互聯網
上載者:User

ACID 屬性

代表了不可分性、一致性、隔離性和持久性。

不可分性(原子性):在一個操作中涉及兩個或兩個以上獨立的資訊,這些資訊要麼全部提交,要麼一個也不提交。

一致性:操作要麼建立新的有效資料狀態,要麼(如果發生任何錯誤的話)將所有資料返回到初始狀態。

隔離性:操作在沒有提交並不與別的任何操作發生任何關係。

持久性:即使發生錯誤重新啟動,儲存過的已經提交的資料在正確狀態下仍然有效。


相同串連中資料庫事務實現方式:資料庫實現與Ado.Net實現


執行個體一:資料庫中事務實現方式

create database DataBaseExample

go

use DataBaseExample

go

create table Table1

(

 test varchar(20)

)

go

create table Table2

(

 test varchar(20)

)


create proc TransExample

as

begin transaction

declare @error1 int,@error2 int

insert into table1 values('test1Table1')

select @error1=@@error

insert into table2 values('test2Table1')

select @error2=@@error

if(@error1=0 and @error2=0)

commit transaction

else

rollback transaction


execute TransExample


select * from Table1,Table2


執行個體二:Ado.Net中事務實現方式

using (SqlConnection conn = new SqlConnection("server=.;database=databaseexample;uid=sa;pwd=sa"))

        {

           conn.Open();

           SqlTransaction trans = conn.BeginTransaction();

           try

           {


               using (SqlCommand cmd = new SqlCommand())

               {

                  cmd.Connection=conn;

                  cmd.Transaction = trans;

                  cmd.CommandText = "insert into table1 values('test1Table1')";

                  cmd.ExecuteNonQuery();

                  cmd.CommandText = "insert into table2 values('test2Table1')";

                  cmd.ExecuteNonQuery();

                  trans.Commit();

               }

           }

           catch

           {

               trans.Rollback();

           }

        }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.