国产探花免费观看_亚洲丰满少妇自慰呻吟_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();
   }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 忻城县| 忻州市| 孟连| 东乡| 林周县| 长沙市| 梧州市| 平陆县| 博罗县| 防城港市| 洮南市| 陆丰市| 贺州市| 麻城市| 凯里市| 潮安县| 南充市| 栾城县| 图木舒克市| 都安| 乌鲁木齐县| 浪卡子县| 宣恩县| 昔阳县| 西峡县| 广西| 淮安市| 德昌县| 巴里| 安达市| 永川市| 庄浪县| 兰州市| 双流县| 龙陵县| 商丘市| 绥宁县| 吉隆县| 朝阳区| 睢宁县| 修水县|