asp.net创建事务的方法

1、建立List用于存放多条语句

/// <summary>
/// 保存表单
/// </summary>
/// <param name="context"></param>
protected void save()
{
 List<string> list = new List<string>();
 list.Add(string.Format("insert into picsone(model,idser,idflg,lmuser,lmdate,lmtime) values('{0}','{1}','{2}','{3}',{4},{5})", "T1002", "Y", "N", "U001", 20161103, 140025));
 list.Add(string.Format("insert into picstwo(model,idser,idflg,lmuser,lmdate,lmtime) values('{0}','{1}','{2}','{3}',{4},{5})", "T1002", "Y", "N", "U001", 20161103, 140025));
 bool bol = ExecuteTransaction(list);
 if (bol)
 {
  MessageBox.Show("保存成功!");
 }
 else
 {
  MessageBox.Show("保存失败!");
 }
}

2、调用ExecuteTransaction方法,并返回返回值true为成功,false为失败,语句并回滚

/// <summary>
/// 执行语句
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
private bool ExecuteTransaction(List<string> list)
{
 using (SqlConnection connection = new SqlConnection(ConfigurationManager.AppSettings["LocalConnectionString"].ToString()))
 {
  SqlCommand command = new SqlCommand();
  SqlTransaction transaction = null;
  try
  {
   connection.Open();
   transaction = connection.BeginTransaction();
   command.Connection = connection;
   command.Transaction = transaction;

   for (int i = 0; i < list.Count; i++)
   {
    command.CommandText = list[i];
    command.ExecuteNonQuery();
   }

   transaction.Commit();
   connection.Close();
   return true;
  }
  catch
  {
   transaction.Rollback();
   connection.Close();
   return false;
  }
 }
}
(0)

相关推荐

  • asp.net 使用事务

    ASP.NET操作事务非常的简单,代码如下: 代码 复制代码 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Data.SqlClient; using System.Transactions;

  • 在ASP.NET 2.0中操作数据之六十一:在事务里对数据库修改进行封装

    导言: 正如我们在第16章<概述插入.更新和删除数据>里探讨的那样,GridView控件内建的功能支持对每行数据的编辑和删除功能,你只需要稍稍动一下鼠标就可以创建丰富的数据修改界面而不用写一行代码.但是,在某些情况下,这还不够,我们需要让用户能够成批地处理数据. 比如,很多基于web(web-based)的电子邮件客户端,将所有邮件出来,每条邮件除了包含邮件信息(主题.发送者等)外,还包含一个checkbox控件.这些界面允许用户同时删除多个邮件,用户只需要选中邮件,再点"删除所选邮

  • Asp.net 在三层架构中事务的使用实例代码

    接触3层也有一段时间了,了解水平一般,前段时间在想在三层中怎么使用事务呢,放在哪呢?Sqlherper ? DAL? BLL?.然后我就疯狂的百度,好几次都是未果(因为做的都是小项目,不用事务也关系不大),今天我再次查时,好好的看了csdn上的以讨论,http://topic.csdn.net/u/20091101/19/f21697d7-8f0c-4eb3-8e59-d0fe2f0b04b0.html,结合前辈和高手们的意见,自己改了一个出来.我的想法是将事务逻辑写在业务逻辑层,数据库的处理还

  • asp.net 执行事务代码

    //数据库执行区, SqlConnection _sqlConn = null; SqlTransaction _SqlTrans = null; try { //数据库操作类 _sqlConn = System.mySQLConnection.SqlConnections.GetSQLConnection();//见下面的类 _sqlConn.Open(); // sql事务对象 _SqlTrans = _sqlConn.BeginTransaction(); //基本信息执行SQL语句情况

  • asp.net创建事务的方法

    1.建立List用于存放多条语句 /// <summary> /// 保存表单 /// </summary> /// <param name="context"></param> protected void save() { List<string> list = new List<string>(); list.Add(string.Format("insert into picsone(model,

  • asp.net实现数据从DataTable导入到Excel文件并创建表的方法

    本文实例讲述了asp.net实现数据从DataTable导入到Excel文件并创建表的方法.分享给大家供大家参考,具体如下: /// <summary> /// 把数据从DataTable导入到Excel文件里 /// </summary> /// <param name="dataTable">数据源</param> /// <param name="AbsoluteExcelFilePath">Exce

  • ASP.NET创建动态缩略图的方法

    本文实例讲述了ASP.NET创建动态缩略图的方法.分享给大家供大家参考.具体分析如下: 提示: 1. 导入 System.IO 2. 创建 类C lass "CreateThumbnails" or any class and place following function inside that class You need one function to response call back to main function Function ImageAbortDummyCal

  • asp.net创建XML文件的方法小结

    本文实例讲述了asp.net创建XML文件的方法.分享给大家供大家参考,具体如下: 方法一:按照XML的结构一步一步的构建XML文档. 通过.Net FrameWork SDK中的命名空间"System.Xml"中封装的各种类来实现的 方法一:按照XML的结构一步一步的构建XML文档. 通过.Net FrameWork SDK中的命名空间"System.Xml"中封装的各种类来实现的 方法二:直接定影XML文档,然后保存到文件. 通过"XmlDocumen

  • Android开发教程之Fragment定义、创建与使用方法详解【包含Activity通讯,事务执行等】

    本文实例讲述了Android开发教程之Fragment定义.创建与使用方法.分享给大家供大家参考,具体如下: 概述 Fragment是activity的界面中的一部分或一种行为.你可以把多个Fragment们组合到一个activity中来创建一个多面界面并且你可以在多个activity中重用一个Fragment.你可以把Fragment认为模块化的一段activity,它具有自己的生命周期,接收它自己的事件,并可以在activity运行时被添加或删除. Fragment不能独立存在,它必须嵌入到

  • 通用SQL存储过程分页以及asp.net后台调用的方法

    创建表格并添加300万数据 use Stored CREATE TABLE UserInfo( --创建表 id int IDENTITY(1,1) PRIMARY KEY not null,--添加主键和标识列 UserName varchar(50) ) declare @i int --添加3百万数据,大概4分钟时间 set @i=1 while @i<3000000 begin insert into UserInfo (UserName) values(@i) set @i=@i+1

  • 使用ASP.NET创建线程实例教程

    使用 ASP.NET 创建一个线程的实现方法其实非常简单,只需将其声明并为其提供线程起始点处的方法委托即可实现.创建新的线程时,需要使用 Thread 类,Thread 类具有接受一个 ThreadStart 委托或 ParameterizedThreadStart 委托的构造函数.该委托包装了调用 Start 方法时由新线程调用的方法.创建了Thread类 的对象之后,线程对象已存在并已配置,但并未创建实际的线程,这时,只有在调用Start方法后,才会创建实际的线程. ASP.NET的Star

  • Yii中Model(模型)的创建及使用方法

    本文实例分析了Yii中Model(模型)的创建及使用方法.分享给大家供大家参考,具体如下: YII 实现了两种模型,表单模型(CFormModel类)和Active Record模型(CAtiveRecord类),它们都继承自CModel类. CFormModel代表的数据模型是从HTML表单收集的输入,封装了所有逻辑(如表单的验证和其它业务逻辑,应用到表单的域上).它能将数据存储在内 存中,或者在一个Active Record的帮助下,存入数据库里. 数据库连接操作 在config/main.

  • C#处理Access中事务的方法

    本文实例讲述了C#处理Access中事务的方法.分享给大家供大家参考.具体如下: Access不能像SQL server一样直接执行多条语句,但是把多条语句绑成事务还是可以一起执行的. 所谓事务,就是把多件事情当做一件事情来处理.也就是大家同在一条船上! 由一个事务来完成多个表的同步操作,要么都执行成功,要么都不成功.下面举个例子,用C#实现Access数据库事务的处理方法: 向一个表提交数据,同时更新另一个表中的数据 using System; using System.Data; using

  • MongoDB数据库两阶段提交实现事务的方法详解

    本文实例讲述了MongoDB数据库两阶段提交实现事务的方法.分享给大家供大家参考,具体如下: MongoDB数据库中操作单个文档总是原子性的,然而,涉及多个文档的操作,通常被作为一个"事务",而不是原子性的.因为文档可以是相当复杂并且包含多个嵌套文档,单文档的原子性对许多实际用例提供了支持.尽管单文档操作是原子性的,在某些情况下,需要多文档事务.在这些情况下,使用两阶段提交,提供这些类型的多文档更新支持.因为文档可以表示为Pending数据和状态,可以使用一个两阶段提交确保数据是一致的

随机推荐