ADO.NET里面有事务的功能?是不是我们应该放弃使用数据库的事务功能?

O0O0O0O0O0O0OO0O0O0O 2010-01-18 12:24:23
不知道应该使用哪种方式?
...全文
125 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Adechen 2010-01-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xray2005 的回复:]
基本没区别。

如果你对数据库比较熟悉,那么可以使用数据库的事务。如果你更喜欢代码控制,那就ADO.net的事务。
[/Quote]
up
xray2005 2010-01-18
  • 打赏
  • 举报
回复
基本没区别。

如果你对数据库比较熟悉,那么可以使用数据库的事务。如果你更喜欢代码控制,那就ADO.net的事务。
polarissky 2010-01-18
  • 打赏
  • 举报
回复
爱好+习惯
江南小鱼 2010-01-18
  • 打赏
  • 举报
回复

 1、在存储过程中使用事务
create procedure UserSave(

@userId varchar(5),

@psw varchar(50)

)

as

BEGIN TRANSACTION

update tb_Admin set Password=@psw where Admin=@userId

if @@ERROR>0

begin

ROLLBACK TRANSACTION

return -1 /* Fail to Update */

end

else

begin

COMMIT TRANSACTION

return 0 /* Succeed to update */

end


  2、在ASP.NET中事务的使用

using (conn = new SqlConnection(strConn))

{

conn.Open();

SqlTransaction sqlTran = conn.BeginTransaction();

SqlCommand cmd = new SqlCommand();

cmd.Transaction = sqlTran;

cmd.Connection = conn;

cmd.CommandText = "update Admin set Address='Love you very much' where CID=3131";

try

{

cmd.ExecuteNonQuery();

sqlTran.Commit();

}

catch (Exception ex)

{

throw ex;

sqlTran.Rollback();

}

finally

{

sqlTran = null;

}

}


两种事务处理,基本没什么差别;是给编程人员提供的更多的灵活性。
灵雨飘零 2010-01-18
  • 打赏
  • 举报
回复
个人感觉在数据库里效率更高一些。
但是写一些复杂的事务在数据库中还是有写难度。
fwacky 2010-01-18
  • 打赏
  • 举报
回复
呵呵,个人理解:
ADO.NET里面有事务的功能?
《1 是在不写存储过程 ,的一种 控制事务方法。
数据库的事务功能?
《1 在存储过程时,加的一种控制事务方法。

====
理解的比较浅!

灵雨飘零 2010-01-18
  • 打赏
  • 举报
回复
两种方法的最终目的是一样的,主要看你习惯用那种方式实现。

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧