asp.net事务处理

kuangshengfeng 2008-11-27 05:20:05
使用三层架构,如何做事务处理。 需要完整的例子。谢谢各位。。。。行的话一定给分 。我是刚出道的菜鸟。大家多帮帮忙 谢谢。。。
...全文
97 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
kuangshengfeng 2008-11-28
  • 打赏
  • 举报
回复
很好 谢谢大家了啊
kuangshengfeng 2008-11-28
  • 打赏
  • 举报
回复
由于工作很忙 没有时间过来 非常感谢大家 这个对我很重要谢谢。
gengwanshanreally 2008-11-27
  • 打赏
  • 举报
回复


public void DoSqlTransactioin(string[] sqls)
{
SqlCommand comm = conn.CreateCommand();
SqlTransaction trans = conn.BeginTransaction();

comm.Transaction = trans;
try
{
conn.Open();
foreach (string sql in sqls)
{
comm.CommandText = sql;
comm.ExecuteNonQuery();
}
trans.Commit();
}
catch (Exception ex)
{
trans.Rollback();
}
finally
{
conn.Close();
}


}
曾默 2008-11-27
  • 打赏
  • 举报
回复
回5楼的
我帖的代码是在数据处理层实现多条SQL语句以事务的方式执行
你所指的我明白,是指业务上面的事务,就像一次插入多条数据
用我帖的代码来实现的话,就是在业务处理层把要操作数据库的多条sql语句组合起来
然后调用数据处理层执行事务的方法

这方法可能不是很好,本人更支持用6楼大哥的方法
fffff_1982 2008-11-27
  • 打赏
  • 举报
回复
BLL层用
Fibona 2008-11-27
  • 打赏
  • 举报
回复
BLL层,用

try

{
using(System.Transaction.TrasactionScop ts=new TransactionScrope())
{
第一个类中的.Add()方法(,调用该类对应的接口-->数据库实现层);

第二个类中的.Remove()方法(,调用该类对应的接口-->数据库实现层)
.....
ts.Complete();
return true;

}
}
catch(Exception e)
{
Log(e);//or throw(e);
}
5Br 2008-11-27
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zshengli 的回复:]
数据处理层方法

/// <summary>
/// 执行多条SQL语句,实现数据库事务。
/// </summary>
/// <param name="SQLStringList">多条SQL语句 </param>
public static int ExecuteSqlTran(List <String> SQLStringList)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();

[/Quote]
会用三层的这段代码应该很熟了

事务一般是一个动作,应该在BLL层吧

数据操作就应该在DAL层了

个人理解

我也正在学习三层
曾默 2008-11-27
  • 打赏
  • 举报
回复
数据处理层方法

/// <summary>
/// 执行多条SQL语句,实现数据库事务。
/// </summary>
/// <param name="SQLStringList">多条SQL语句</param>
public static int ExecuteSqlTran(List<String> SQLStringList)
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
SqlTransaction tx = conn.BeginTransaction();
cmd.Transaction = tx;
try
{
int count = 0;
for (int n = 0; n < SQLStringList.Count; n++)
{
string strsql = SQLStringList[n];
if (strsql.Trim().Length > 1)
{
cmd.CommandText = strsql;
count += cmd.ExecuteNonQuery();
}
}
tx.Commit();
return count;
}
catch
{
tx.Rollback();
return 0;
}
}
}
chagel 2008-11-27
  • 打赏
  • 举报
回复
如果只是数据库级别的事务,只要在SqlHelper或者数据访问层相关的地方,加入SqlTransaction代码。
iwalk 2008-11-27
  • 打赏
  • 举报
回复
把事务处理放在BLL层
kuangshengfeng 2008-11-27
  • 打赏
  • 举报
回复
如果可以的话 能把代码发给我是最好的了 这是我的Email:kuangshengfeng@126.com
第一篇 概论 第一章 微软.NET战略和ASP.NET简介i. 微软.NET的历史 ii. ASP.NET历史iii. 众说纷纭.NET iv. ASP.NET综述 v. 小结第二章 我的第一个ASP.NET程序 i. 配置开发环境ii. 运行配套光盘iii. 第一个例子iv. 近观ASP.NET v. 小结 第三章 ASP.NET和ASP的比较i. ASP和ASP.NET的对比ii. 从ASP到ASP.NET(一个移植的例子) iii. 如何移植ASP到ASP.NET iv. 小结 第二篇 Web Form 第一章Web Form简介i. Page 简介ii. 我的第一个Page iii. 使用Server Control iv. 使用HTML Server Control v. Web Form事件模型vi. 小结 第二章 服务器端控件i. 文本输入控件ii. 选择控件 iii. 列表控件iv. 小结第三章 自定义控件 i. 小页面控件ii. 代码和模板的分离iii. 自定义控件1. 组合控件 2. 继承控件iv. 小结 第三篇ADO.NET数据库编程 第一章 ADO.NET简介i. ADO.NET的发展历史ii. ADO.NET框架模型 iii. ADO.NET对比ADO iv. 小结第二章 访问数据库i. 记录插入 ii. 记录修改iii. 记录删除第三章 存储过程和触发器 i. 使用存储过程1. 有返回值2. 输入参数 3. 输出参数ii. 使用触发器iii. 小结第四章 内存中的数据库 i. 字段映射ii. 数据表iii. 表间关系 iv. 表间约束v. DataSet和XML 第五章响应ADO.NET的事件 i. DataSet Events ii. DataTable Events 第六章数据绑定i. Repeater ii. DataList iii. DataGrid 第七章事务处理 i. ASP.NET事务处理机制ii. 一个完整的例子iii. 利用数据库的事务处理 iv. 利用MTS的事务处理v. 小结第四篇 应用程序第一章 什么是应用程序 i. 配置应用程序的步骤ii. 应用程序框架iii. 创建应用程序的典型步骤 iv. 小结第二章 配置Config.web 第三章编写global.asa 第四章Application和Session 第五章安全访问控制第五篇 Web Service 第一章Web service简介 第二章 一个简单的Web Service案例第三章 数据交换第四章 存取站点对象 第六篇 性能优化第七篇 高级应用第一章 XML及其应用第二章 三层结构及其应用 第三章 使用COM 第四章使用MTS 第五章使用MSMQ 第六章在ASP中使用.NET

62,046

社区成员

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

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

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

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