程序實例:
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();
}
}
新聞熱點
疑難解答
圖片精選