您的位置:首页 > 其它

.net事务处理方式

2008-09-24 10:18 288 查看
事务处理是在数据处理时经常遇到的问题,经常用到的方法有以下3种总结整理如下:

方法1:直接写入到sql 中

在存储过程中使用 BEGIN TRANS, COMMIT TRANS, ROLLBACK TRANS 实现

Code

SqlConnection sqlConnection = new SqlConnection("workstation id=WEIXIAOPING;packet size=4096;user id=sa;initial catalog=Northwind;persist security info=False");

sqlConnection.Open();

SqlTransaction myTrans = sqlConnection.BeginTransaction();

SqlCommand sqlInsertCommand = new SqlCommand();

sqlInsertCommand.Connection = sqlConnection

sqlInsertCommand.Transaction=myTrans;

try{

sqlInsertCommand.CommandText="insert into tbTree(Context,ParentID) values('北京',1)";

sqlInsertCommand.ExecuteNonQuery();

sqlInsertCommand.CommandText="insert into tbTree(Context,ParentID) values('上海',1)";

sqlInsertCommand.ExecuteNonQuery();

myTrans.Commit();

}catch(Exception ex)

{

myTrans.Rollback();

}

finally

{

sqlConnection.Close();

}

优点:

简单性

和数据据事务差不多的快

独立于数据库,不同数据库的专有代码被隐藏了

缺点:

事务不能跨越多个数据库连接

事务执行在数据库连接层上,所以需要在事务过程中维护一个数据库连接

ADO.NET分布事务也可以跨越多个数据库,但是其中一个SQL SERVER 数据库的话,通过用SQL SERVER连接服务器连接到别的数据库,但是如果是在DB2和Orcal之间就不可以。

以上两种事务是经常用到的事务处理方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: