asp.net mysql 事务_ASP.NET里的事务处理(ado.net 数据库应用)
事务是一组组合成逻辑工作单元的数据库操作,虽然系统中可能会出错,但事务将控制和维护每个数据库的一致性和完整性。如果在事务过程中没有遇到错误,事务中的所有修改都将永久成为数据库的一部分。如果遇到错误,则不会对数据库作出任何修改。
例如,在一个银行应用程序中,如果资金从一个帐户转到另一个帐户,则会将一定的金额记入一个帐户的贷方,同时将相同的金额记入另一个帐户的借方。由于计算机可能会因为停电、网络中断等原因而出现故障,所以有可能更新了一个表中的行,但没有更新相关表中的行。如果数据库支持事务,则可以将数据库操作组成一个事务,以防止因这些事件而使数据库出现不一致。
在 ADO.NET 中,可以使用 Connection 和 Transaction 对象来控制事务。若要执行事务,请执行下列操作:
调用 Connection 对象的 BeginTransaction 方法来标记事务的开始。BeginTransaction 返回对 Transaction 的引用。请保留此引用,以便将其分配给在事务中登记的 Command。
将 Transaction 对象分配给要执行的 Command 的 Transaction 属性。如果通过活动的 Transaction 对象对 Connection 执行 Command,但该 Transaction 对象尚未分配给 Command 的 Transaction 属性,则将引发异常。
执行所需的命令。
调用 Transaction 对象的 Commit 方法来完成事务,或调用 Rollback 方法来取消事务。
以下代码示例使用 Microsoft SQL Developer Network上的 ADO.NET 实例来演示事务逻辑。
1
SqlConnection myConnection=newSqlConnection("Data Source=localhost;Initi Catalog=Northwind;Integrated Security=SSPI;");23myConnection.Open();4SqlTransaction myTrans=myConnection.BeginTransaction();//启动一个事务56SqlCommand myCommand=newSqlCommand();//为事务创建一个命令7myCommand.Connection=myConnection;8myCommand.Transaction=myTrans;910try1112
{1314myCommand.CommandText="Insert into Region (RegionID, RegionDescription) VALUES (100,"Description")";1516myCommand.ExecuteNonQuery();1718myCommand.CommandText="Insert into Region (RegionID, RegionDescription) VALUES (101,"Description")";1920myCommand.ExecuteNonQuery();2122myTrans.Commit();//提交事务2324Response.Write("Both records are written to database.两次插入数据都成功");2526}2728catch(Exception e)2930
{3132myTrans.Rollback();//回滚事务3334Response.Write(e.ToString());3536Response.Write("Neither record was written to database.没有一次插入数据成功");3738}3940finally4142
{4344myConnection.Close();4546}
asp.net mysql 事务_ASP.NET里的事务处理(ado.net 数据库应用)相关推荐
- asp.net mysql 事务_ASP.NET Core 1.0 使用 Dapper 操作 MySql(包含事务)
操作 MySql 数据库使用MySql.Data程序包(MySql 开发,其他第三方可能会有些问题). project.json 代码: { "version": "1. ...
- asp创建mysql表_asp创建数据库表
一起谈.NET技术,不附加数据库 ASP.NET调用.sql文件 笔者好久没有写随笔了,这次是遇到提出这样的问题"不用附加数据库,什么修改web.config什么的那么麻烦,而是直接运行一个 ...
- asp创建mysql表_asp创建数据库
Azure 上部署 ASP.NET Core Web App 前言 在云计算大行其道的时代,当你要部署一个网站时第一选择肯定是各式各样的云端服务.那么究竟使用什么样的云端服务才能够以最快捷的方式部署一 ...
- asp连接mysql视频_asp连接mysql数据库详细实现代码
ASP 的 asp连接mysql数据库详细实现代码 想要asp能连接mysql数据库需要安装MySQL ODBC 3.51 驱动 我们先看下面这段代码 代码如下: set conn = server. ...
- asp.net mysql 查询_asp.net 多条件查询数据库
ASP.NET3.5--第一章ASP.NET介绍 第一章 ASP.NET介绍 当微软创建.NET,它不仅仅梦想未来--它还担忧当代web开发技术的困惑和限制.在你开始ASP.NET3.5以前,本书帮 ...
- asp连接mysql字符串_asp连接数据库字符串
asp连接access和sqlserver的方法 Dim Conn,ConnStr dim Sql_Server,Sql_User,Sql_Pass,Sql_Data Sql_Server = &qu ...
- asp.net mysql打包_Asp.net与SQL一起打包部署安装
借鉴MSDN webcasts的Asp.net程序部署和李洪根的一篇文章,然后加上自己的亲身体会,把整个SQL和Asp.net(vb.net)一起打包的全过程写一下. 一.准备必要的文件 1. SQL ...
- mysql 事务中锁处理_MySQL事务处理及锁定_MySQL
bitsCN.com MySQL事务处理及锁定 事务处理(Transaction)是将多个更新命令作为一个整体来执行,从而保证数据整合性的机制. 存储引擎(Storage Engine) MySQL ...
- c# mysql 事务_C# 使用SqlTransaction进行事务处理
事务处理基本原理 事务是将一系列操作作为一个单元执行,要么同时成功,要么同时失败,回滚到最初状态.在事务处理术语中,事务要么提交,要么中止.若要提交事务,所有参与者都必须保证对数据的任何更改是永久的. ...
最新文章
- Android 2.0中电话本contact的读写操作(增删改查一)
- Android TabLayout(选项卡布局)简单用法实例分析
- 撬开骁龙8一看,满满都是顶会论文
- fseek linux 大文件_一文搞懂Linux系统开发
- 大端和小端的判断及转换
- 多线程并发之原子性(六)
- Linux清理磁盘挂载点方法(亲测有效)
- 35-46集 中心极限定理、置信区间
- 矩阵转置(信息学奥赛一本通-T1126)
- 关于字节面试过程不会的算法题总结
- 前端上传插件Plupload的实际使用(个人实操)
- 40 张图揭秘「键入网址发生了什么」
- 关于Keil4 C51版本可以编译但是无法完成编译的问题解决
- Springboot JPA注解@Enumerated
- 排序算法的代码--选择排序综合训练题
- 广电物联网大赛正式开启
- 【洛谷P2000】拯救世界
- android 方法映射,高通Android平台驱动层 MSM8916 键值映射方法
- 培养架构思维成为优秀的架构师
- 图片旋转90度解决的方法
热门文章
- OpenCV人脸识别LBPH算法源码分析
- 2016.5.57—— Remove Duplicates from Sorted List
- 多返回值函数的编写方法
- 委托与事件代码详解与(Object sender,EventArgs e)详解
- python爬虫图片实例-【图文详解】python爬虫实战——5分钟做个图片自动下载器...
- winpython使用教程-Win系统PyQt5安装和使用教程
- python使用界面-用python编写简单ui界面窗口
- python 贴吧自动回复机-Python实现微信自动回复机器人详细教程
- python开发需要掌握哪些知识-人工智能需要学习哪些专业课程知识?
- python散点图拟合曲线-python曲线拟合