asp.net创建事务的方法

 更新时间:2016年12月19日 11:20:44   作者:冷战  
本篇文章主要对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;
  }
 }
}

相关文章

  • ASP.NET webUploader上传大视频文件相关web.config配置

    ASP.NET webUploader上传大视频文件相关web.config配置

    本文主要介绍了webUploader上传大视频文件相关web.config的配置。具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • NAT网络地址转换详情

    NAT网络地址转换详情

    这篇文章主要以NAT作用和NAT的应用方向及网络配置等多个知识点描述网络地址转换的过程,需要的朋友可以参考下面文章
    2021-08-08
  • ASP.NET Core使用功能开关控制路由访问操作(续)

    ASP.NET Core使用功能开关控制路由访问操作(续)

    这篇文章主要介绍了ASP.NET Core使用功能开关控制路由访问操作的(续),上一篇文章我们已经介绍过一部份该相关内容,​​在本文,我们可以判断当前路由地址是否为调试地址,让评估返回真,需要的小伙伴可以参考一下
    2022-02-02
  • .NET 6新特性试用Timer类之PeriodicTimer 

    .NET 6新特性试用Timer类之PeriodicTimer 

    这篇文章主要介绍了.NET 6新特性试用Timer类之PeriodicTimer,PeriodicTimer与其他Timer需要创建事件回调不同,下,下面文章详细介绍PeriodicTimer的使用方式,需要的朋友可以参考一下
    2022-02-02
  • 深入分析XmlSerializer对象的Xml序列化与反序列化的示例详解

    深入分析XmlSerializer对象的Xml序列化与反序列化的示例详解

    本篇文章是对XmlSerializer 对象的Xml序列化与反序列化的应用进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • 一文透彻详解.NET框架类型系统设计要点

    一文透彻详解.NET框架类型系统设计要点

    这篇文章主要为大家透彻详解了选择.NET框架的n个理由,本系列的第一篇文章全面概述了平台的支柱和设计要点,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • ASP.NET Core Web API 教程Project Configuration

    ASP.NET Core Web API 教程Project Configuration

    本文将介绍 Startup 类中的配置方法以及如何通过这些方法来设置应用程序。除此之外,还将介绍如何注册服务以及如何通过扩展方法来实现注册,需要的朋友可以参考下面文章内容
    2021-09-09
  • .Net Core 配置文件读取IOptions,IOptionsMonitor,IOptionsSnapshot

    .Net Core 配置文件读取IOptions,IOptionsMonitor,IOptionsSnapshot

    这篇文章主要介绍了.Net Core配置文件读取IOptions,IOptionsMonitor,IOptionsSnapshot,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • asp.net core使用DevExtreme20将int列转为checkbox方法示例

    asp.net core使用DevExtreme20将int列转为checkbox方法示例

    这篇文章主要为大家介绍了asp.net core使用DevExtreme20将int列转为checkbox方法示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • .NET Core 中对象池 Object Pool的使用

    .NET Core 中对象池 Object Pool的使用

    这篇文章主要介绍了 .NET Core 中对象池 Object Pool的使用,对象池简单来说就是一种为对象提供可复用能力的软件设计思路,对象池最常用的场景是游戏设计,因为在游戏中大量存在着可复用的对象,源源不断的子弹出现并不是循环再生的,下面一起进入文章了解具体内容吧
    2021-11-11

最新评论