国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

.net中數據庫事務機制

2024-07-10 12:58:58
字體:
來源:轉載
供稿:網友
在初始化sqltransaction類時,你需要使用sqlconnection類的begintranscation()方法:
sqltransaction mytran; mytran=myconn.begintransaction(); 
該方法返回一個sqltransaction類型的變量。在調用begintransaction()方法以后,所有基于該數據連接對象的sql語句執行動作都將被認為是事務mytran的一部分。同時,你也可以在該方法的參數中指定事務隔離級別和事務名稱,如:
sqltransaction mytran;
mytran=myconn.begintransaction(isolationlevel.readcommitted,"sampletransaction"); 

程序實例:

1.  sql server

     sqlconnection myconn=getconn();
  myconn.open();
  sqlcommand mycomm=new sqlcommand();

  sqltransaction mytran;                                           //創建一個事務
  mytran=myconn.begintransaction();                  //注意,sqltransaction類無公開的構造函數

   //從此開始,基于該連接的數據操作都被認為是事務的一部分
   mycomm.connection=myconn;
   mycomm.transaction=mytran;
   mycomm.commandtext="use pubs";
   mycomm.executenonquery();
   mycomm.commandtext="update roysched set royalty = royalty * 1.10 where title_id like 'pc%'";
   mycomm.executenonquery();

      mytran.commit();              //提交事務

2.下面的示例創建一個 oracleconnection 和一個 oracletransaction。它還演示了如何使用 begintransaction、commit 和 rollback 方法。

public void runoracletransaction(string myconnstring)
{
   oracleconnection myconnection = new oracleconnection(myconnstring);
   myconnection.open();

   oraclecommand mycommand = myconnection.createcommand();
   oracletransaction mytrans;

   // start a local transaction
   mytrans = myconnection.begintransaction(isolationlevel.readcommitted);
   // assign transaction object for a pending local transaction
   mycommand.transaction = mytrans;

   try
   {
     mycommand.commandtext = "insert into dept (deptno, dname, loc) values (50, 'technology', 'denver')";
     mycommand.executenonquery();
  mycommand.commandtype= commandtype.storedprocedure;
   mycommand.commandtext="prc_test";
     mycommand.executenonquery();
     mytrans.commit();
     console.writeline("both records are written to database.");
   }
   catch(exception e)
   {
     mytrans.rollback();
     console.writeline(e.tostring());
     console.writeline("neither record was written to database.");
   }
   finally
   {
     myconnection.close();
   }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桓台县| 加查县| 合阳县| 法库县| 西乌| 湖州市| 津南区| 阳新县| 大关县| 蓬莱市| 峡江县| 乐都县| 依安县| 绩溪县| 新蔡县| 泾源县| 广灵县| 宜兰市| 伽师县| 卢龙县| 淅川县| 铅山县| 通化县| 利川市| 湄潭县| 瓮安县| 长丰县| 蓬溪县| 岚皋县| 瑞金市| 牙克石市| 高碑店市| 五原县| 师宗县| 南陵县| 清水河县| 田阳县| 吉林市| 浠水县| 澄迈县| 土默特右旗|