新聞中心
ADO.NET事務提供兩個對象用于檢索關(guān)系型數(shù)據(jù)并把它存儲在內(nèi)存中,分別是DataSet和DataReader。DataSet提供內(nèi)存中關(guān)系數(shù)據(jù)的表現(xiàn)--包括表和次序、約束等表間的關(guān)系的完整數(shù)據(jù)集合。DataReader提供快速、只向前、只讀的來自數(shù)據(jù)庫的數(shù)據(jù)流。

成都創(chuàng)新互聯(lián)技術(shù)團隊十多年來致力于為客戶提供網(wǎng)站設計制作、成都網(wǎng)站制作、品牌網(wǎng)站制作、營銷型網(wǎng)站、搜索引擎SEO優(yōu)化等服務。經(jīng)過多年發(fā)展,公司擁有經(jīng)驗豐富的技術(shù)團隊,先后服務、推廣了上1000+網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機構(gòu)單位。
例如在一個銷售系統(tǒng)里,通過帳單處理模塊完成對銷售表的數(shù)據(jù)處理,客戶端銷售人員已經(jīng)將庫存貨品銷售出去,但與銷售表有關(guān)的庫存表尚未及時更新,結(jié)果娶她銷售人員再讀取庫存數(shù)據(jù)就會出現(xiàn)數(shù)據(jù)不一致的現(xiàn)象。
為此,在數(shù)據(jù)庫基礎理論中我們引入事務的概念。所謂事務就是這樣的一系列操作,這些操作被視為一個操作序列,要么全做,要么全部做,是一個不可分割的程序單元。在數(shù)據(jù)庫數(shù)據(jù)處理中經(jīng)常會發(fā)生數(shù)據(jù)更新事件,為了保證數(shù)據(jù)操作的安全與一致,大型數(shù)據(jù)庫服務器都支持事務處理,以保證數(shù)據(jù)更新在可控的范圍內(nèi)執(zhí)行 。ADO.NET通過Connection對象的BeginTransaction()要領實現(xiàn)對事務處理的支持,該要領返回一個實現(xiàn)IDbTransaction接口的對象,而該對象是在System.Data中被定義的。 #t#
1.ADO.NET事務處理命令
調(diào)用Connection對象的BeginTransaction()要領,返回的是一個DbTransaction對象。DbTransaction對象常用的事務處理命令包括下面三個:
◆nBegin:在執(zhí)行事務處理中的任何操作之前,必須運用 Begin命令來開始事務處理;
◆nCommit:在成功將所有修改都存儲于數(shù)據(jù)庫時,才算是提交了事務處理;
◆nRollback:由于在事務處理期間某個操作失敗,而取消事務處理已做的所有修改,這時將發(fā)生回滾;
不同命名空間里的DbTransaction類名稱是不同,表示也不同。參見表: 類 說明 OdbcTransaction 表示對Odbc數(shù)據(jù)源執(zhí)行 的SQL 事務處理。 ADO.NET事務 表示對OleDb數(shù)據(jù)源執(zhí)行 的SQL事務處理。 OracleTransaction 表示對Oracle數(shù)據(jù)庫執(zhí)行 的事務處理。
SqlTransaction 表示要對SQL Server數(shù)據(jù)庫執(zhí)行 的Transact-SQL事務處理。 表 DbTransaction類在不同命名空間里的表 在后面的內(nèi)容中,我們主要討論SqlTransaction對象。
2.SqlTransaction對象的運用 。
SqlTransaction對象表示要對數(shù)據(jù)源執(zhí)行 的事務處理,其常用的屬性有Connection。ADO.NET事務是用來獲取與該事務關(guān)聯(lián)的SqlConnection對象,或者如果該事務不再有效,則為空引用。SqlTransaction對象常用的要領有Save()、Commit()和Rollback(),其中Save()要領在事務中建立保存點(它可用于回滾事務的一部分),并指定保存點名稱;Commit()要領用來提交數(shù)據(jù)庫事務,Rollback()要領從掛起狀態(tài)回滾事務。
網(wǎng)頁題目:介紹ADO.NET事務問題處理命令方法
文章位置:http://m.5511xx.com/article/cosjihs.html


咨詢
建站咨詢
