sqlconnection conn = new sqlconnection("......");
conn.Open();SqlTransaction tran = conn .BeginTransaction();
......

....
其它代碼略
.....
...
try
{
tran .Commit();//提交事務(wù)
}
catch
{
//如果出錯(cuò)則回滾
ran.Rollback();
}
SqlCommand對(duì)象-Transaction事務(wù)的使用事務(wù)作為一個(gè)單元被提交和回滾,可以與SQL語(yǔ)句進(jìn)行組合使用,例如:對(duì)于銀行事務(wù),可以要從一個(gè)帳號(hào)取錢(qián),存到另一個(gè)帳號(hào)中,然后在一個(gè)單元中提交這些改變,如果發(fā)生問(wèn)題,則同時(shí)回滾這些改變。通過(guò)設(shè)置SqlCommand對(duì)象的事務(wù)屬性Transaction與SqlTransaction對(duì)象綁定來(lái)實(shí)現(xiàn)事務(wù)處理。使用步驟如下:1、生成SqlTransaction對(duì)象,并用SqlConnection對(duì)象的BeginTransaction方法開(kāi)始事務(wù)。2、生成保存SQL語(yǔ)句的SqlCommand對(duì)象。3、 將SqlCommand對(duì)象的Transaction屬性設(shè)置為第1步生成的SqlTransaction對(duì)象。4、將SqlCommand對(duì)象的CommandText屬性設(shè)置為第一個(gè)INSERT語(yǔ)句。5、用SqlCommand對(duì)象的ExecuteNonQuery()方法執(zhí)行第一個(gè)INSERT語(yǔ)句。此方法不返回結(jié)果集。6、將SqlCommand對(duì)象的CommandText屬性設(shè)置為第二個(gè)INSERT語(yǔ)句。7、用SqlCommand對(duì)象的ExecuteNonQuery()方法執(zhí)行第二個(gè)INSERT語(yǔ)句。此方法不返回結(jié)果集。8、用SqlTransaction對(duì)象的Commit()方法提交事務(wù),使INSERT語(yǔ)句增加的兩行在數(shù)據(jù)庫(kù)中保存。說(shuō)明:如果要撤消構(gòu)成事務(wù)的SQL語(yǔ)句,則可以用Rollback()方法而不是Commit()方法。默認(rèn)情況下,事務(wù)撤消一定要用Commit()或Rollback()方法明確事務(wù)要提交還是回滾。下面代碼使用ExecuteNonQuery執(zhí)行INSERT語(yǔ)句并用SqlTransaction對(duì)象進(jìn)行數(shù)據(jù)提交con.Open();//在調(diào)用方法前打開(kāi)數(shù)據(jù)庫(kù)連接SqlCommand comm=new con.CreateCommand();//創(chuàng)建和聲明Command對(duì)象SqlTransactiontran=con.BeginTransaction();//在生成SqlTransaction對(duì)象前必須打開(kāi)數(shù)據(jù)庫(kù)連接comm.Transaction=tran;//設(shè)置屬性為SqlTransaction對(duì)象comm.CommandText= “insert into dept(dept)values(‘信息組’)”;//設(shè)置
SqlCommand對(duì)象要執(zhí)行的SQL語(yǔ)句
comm.ExecuteNonQuery();//執(zhí)行SQL語(yǔ)句
comm.CommandText= “insert into dept(dept) values(‘生產(chǎn)物流組’)”;//設(shè)置SqlCommand對(duì)象要執(zhí)行的SQL語(yǔ)句
comm.ExecuteNonQuery();//執(zhí)行SQL語(yǔ)句
tran.Commit();提交INSERT語(yǔ)句對(duì)數(shù)據(jù)庫(kù)中表的改變。如果要撤消改變,使用Rollback()
con.Close();//關(guān)閉數(shù)據(jù)庫(kù)連接
愛(ài)華網(wǎng)本文地址 » http://www.klfzs.com/a/25101017/358634.html
愛(ài)華網(wǎng)



