C#中事务的简单使用
在C#中开启事务的步骤
一、调用SqlConnection对象的BeginTransaction()方法,创建一个SqlTransaction对象,标志事务开始。
二、将创建的SqlTransaction对象分配给要执行的SqlCommand的Transaction属性。
三、调用相应的方法执行SqlCommand命令。
四、调用SqlTransaction的Commit()方法完成事务。或调用Rollback()方法终止事务。
需要注意的点
一、在调用BeginTransaction()方法开始事务之前,要打开数据库连接,否则出现异常。
二、如果在事务的Commit()方法或RollBack()方法执行前数据库连接断开或关闭,则事务将回滚。
示例代码
//准备连接字符串string str = "data source=.;initial catalog=Myschool;uid=sa;pwd=123";//创建数据库连接对象SqlConnection con = new SqlConnection(str);//sql语句:添加一条记录到年级表string sql = "insert into grade values(@gradename)";//创建SqlParameter对象,设置参数SqlParameter sp = new SqlParameter("@gradename", txtgradename.Text);//创建命令对象SqlCommand cmd = new SqlCommand(sql, con);//通过Parameter集合的add()方法天填充参数集合cmd.Parameters.Add(sp);//打开连接con.Open();//默认让SqlTransaction对象为空SqlTransaction trans = null;//开启事务:标志事务的开始trans = con.BeginTransaction();try{//将创建的SqlTransaction对象分配给要执行的sqlCommand的Transaction属性cmd.Transaction = trans;//执行sql如果添加成功放回1int count=cmd.ExecuteNonQuery();if (count > 0){MessageBox.Show("成功");//事务提交trans.Commit();}else {MessageBox.Show("失败");//事务回滚trans.Rollback();}}catch (Exception){//如果某个环节出现问题,则将整个事务回滚trans.Rollback();}
C#中事务的简单使用相关推荐
- sqlhelper中事务的简单用法(初学者)
自己的博客 sql1="INSERT INTO tablename(Id,col1,col2) VALUES(@Id,@col1,@col2) update tablename2 set ...
- Spring事务专题(四)Spring中事务的使用、抽象机制及模拟Spring事务实现
前言 本专题大纲如下: 事务专题大纲 「对于专题大纲我又做了调整哈,主要是希望专题的内容能够更丰富,更加详细」,本来是想在源码分析的文章中附带讲一讲事务使用中的问题,这两天想了想还是单独写一篇并作为事 ...
- mysql中decimal不能为空吗_程序员,知道Mysql中事务ACID的原理吗?
点击上方"linkoffer", 选择关注公众号高薪职位第一时间送达 引言 照例,我们先来一个场景~ 面试官:"知道事务的四大特性么?" 你:"懂,A ...
- mysql 事物的持久性是指_详解MySQL中事务的持久性实现原理
前言 说到数据库事务,大家脑子里一定很容易蹦出一堆事务的相关知识,如事务的ACID特性,隔离级别,解决的问题(脏读,不可重复读,幻读)等等,但是可能很少有人真正的清楚事务的这些特性又是怎么实现的,为什 ...
- redis事务的简单介绍
所谓事务应具有以下特效:原子性(Atomicity), 一致性(Consistency),隔离性(Isolation),持久性(Durability),简称ACID,但redis所提供的事务比较简单, ...
- Spring中事务的使用、抽象机制及模拟Spring事务实现
本文大纲如下: Spring事务应用大纲 编程式事务 Spring提供了两种编程式事务管理的方法 使用 TransactionTemplate 或者 TransactionalOperator. 直接 ...
- spring中事务失效的几种情况
下面简单介绍下,spring中常见的事务失效的几种情况.让我们在开发的过程避免这些情况,写出正确而且优雅的代码. 文章目录 数据库引擎不支持,mysql需要InnoDB 方法必须是public的 方法 ...
- java 事务实现原理_Spring中事务用法示例及实现原理详解
前言 Spring并不直接管理事务,而是提供了多种事务管理器,他们将事务管理的职责委托给Hibernate或者JTA等持久化机制所提供的相关平台框架的事务来实现. 关于事务,简单来说,就是为了保证数据 ...
- 事务例子_Spring事务专题(四)Spring中事务的使用、抽象机制及模拟Spring事务实现...
Spring中事务的使用示例.属性及使用中可能出现的问题 前言 本专题大纲如下: 「对于专题大纲我又做了调整哈,主要是希望专题的内容能够更丰富,更加详细」,本来是想在源码分析的文章中附带讲一讲事务使用 ...
最新文章
- Java语言概述与简单程序
- 【译】An Opinionated Introduction to AutoML and Neural Architecture Search
- Hive-Based Registry使用
- log4j每天生成一份html格式的日志
- VS2005 SP1发布,解决只能创建WebSite,无法创建Web Application项目的问题
- signature=cb97f07fbd7b371e6311b0d8707b6398,vue 汉字转拼音(filter)
- ssh创建密钥对验证
- AutoCAD2020快捷键
- python语言常用语法汇总
- c语言弹窗代码,pc端点击弹窗代码
- Linux(2)- Linux基础命令
- Linux学习笔记----01
- 【路径规划】基于RRT算法实现多机器人路径规划,多起点,统一终点matlab源码
- 怎么把本地rpm包导入linux,Linux在本地yum源中增加rpm包(示例代码)
- lumen php版本,PHP微框架 Lumen 使用全纪录
- Vector源码学习
- 教你快速高效接入SDK——Unity统一接入渠道SDK(Android篇)
- 2023 年度 A 类学科竞赛项目清单
- maven setting,xml
- 短视频矩阵源码/客户矩阵搭建
热门文章
- 安装ORACLE 时报错 /jre/1.4.2/lib/i386/libawt.so:
- python_L2_operator
- 多年以后重发:多线程安全的变量模板
- python 查询包_查找Python包的依赖包(语句)
- 阿里云服务器安装onlyoffice_阿里云服务器安装 JDK 8
- 手游pubg mobile服务器正在维护,PUBG Mobile Download Failed怎么解决
- 容器性能比无容器服务器,【译】容器 vs 无服务器(Serverless)
- 家谱整站源码php_mysql家谱表查询某人所有后代
- 开发类似vs的黑色风格_传闻:2020年《使命召唤》将是《黑色行动》重启作品
- python计算结果传给spark_Spark入门:流计算简介(Python版)