事务 c#
事务->:事务是恢复和并发控制的基本单位
->事务具有四个特性:原子性、隔离性、一致性、持久性。这四个特性通常称为ACID
Begin transaction/tran --开始事务
Commit transaction/tran --提交事务
Rollback transaction/tran --回滚事务
Select * from userinfo with(nolock) --表示在查询的时候不加共享锁
一个简单的小案例
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
//开始事务
SqlTransaction ts = conn.BeginTransaction();
try
{
string sql = "insert into BuyRecord(UID,PID,BRNum,BRTime) values(@uid,@pid,@num,@time)";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Transaction = ts;
cmd.Parameters.AddWithValue("@uid", brm.UID);
cmd.Parameters.AddWithValue("@pid", brm.PID);
cmd.Parameters.AddWithValue("@num", brm.BRNum);
cmd.Parameters.AddWithValue("@time", DateTime.Now);
cmd.ExecuteNonQuery();
string uptsql = " update ProductInfo set ProductNum=ProductNum-@buyNum where ProductID=@id";
cmd.CommandText = uptsql;
cmd.Parameters.AddWithValue("@buyNum", brm.BRNum);
cmd.Parameters.AddWithValue("@id", brm.PID);
cmd.ExecuteNonQuery();
ts.Commit();
return 1;
}
catch (Exception)
{
ts.Rollback();
return -1;
throw;
}
事务 c#的更多相关文章
- Spring基于AOP的事务管理
Spring基于AOP的事务管理 事务 事务是一系列动作,这一系列动作综合在一起组成一个完整的工作单元,如果有任何一个动作执行失败,那么事务 ...
- SQLServer事务同步下如何收缩日志
事务同步是SQLServer做读写分离的一种常用的方式. 随着业务数据的不断增长,数据库积攒了大量的日志,为了腾出硬盘空间,需要对数据库日志进行清理 订阅数据库的日志清理 因为订阅数据库所有的数据都来 ...
- 事务日志已满,原因为“ACTIVE_TRANSACTION”
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 异常处理汇总-数据库系列 http://www.cnblogs.com/dunitia ...
- Mysql事务探索及其在Django中的实践(二)
继上一篇<Mysql事务探索及其在Django中的实践(一)>交代完问题的背景和Mysql事务基础后,这一篇主要想介绍一下事务在Django中的使用以及实际应用给我们带来的效率提升. 首先 ...
- Mysql事务探索及其在Django中的实践(一)
前言 很早就有想开始写博客的想法,一方面是对自己近期所学知识的一些总结.沉淀,方便以后对过去的知识进行梳理.追溯,一方面也希望能通过博客来认识更多相同技术圈的朋友.所幸近期通过了博客园的申请,那么今天 ...
- CRL快速开发框架系列教程七(使用事务)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- 玩转spring boot——结合JPA事务
接着上篇 一.准备工作 修改pom.xml文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&q ...
- MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...
- PHP中PDO事务的使用方法
事务 (Transaction) 是操作数据库中很重要的一个功能, 它可以让你预定一条, 或者一系列 SQL 语句, 然后一起执行. 在执行的过程中, 如果其中的某条执行失败, 可以回滚所有已更改的操 ...
- Hibernate中事务的隔离级别设置
Hibernate中事务的隔离级别,如下方法分别为1/2/4/8. 在Hibernate配置文件中设置,设置代码如下
随机推荐
- vue ie
http://www.jb51.net/article/118792.htm https://blog.csdn.net/landl_ww/article/details/79149461 解决 安装 ...
- [django]modelform实现的多文件上传
实现效果 代码 models.py from django.db import models import uuid class UUIDTools(object): ""&quo ...
- Request实例
Request常用方法 getRequestURL方法返回客户端发出请求时的完整URL. getRequestURI方法返回请求行中的资源名部分. getQueryString 方法返回 ...
- CentOS 查看系统 CPU 个数、核心数、线程数
1.查看 CPU 物理个数 grep 'physical id' /proc/cpuinfo | sort -u | wc -l 2.查看 CPU 核心数量 grep 'core id' /proc/ ...
- Apache服务安全加固
一.账号设置 以专门的用户帐号和用户组运行 Apache 服务. 根据需要,为 Apache 服务创建用户及用户组.如果没有设置用户和组,则新建用户,并在 Apache 配置文件中进行指定. 创建 A ...
- Entity Framework Code First(概要)
EF开源项目地址:https://github.com/aspnet/EntityFramework6 MSDN :https://msdn.microsoft.com/en-us/library/a ...
- 从零开始一起学习SLAM | 三维空间刚体的旋转
刚体,顾名思义,是指本身不会在运动过程中产生形变的物体,如相机的运动就是刚体运动,运动过程中同一个向量的长度和夹角都不会发生变化.刚体变换也称为欧式变换. 视觉SLAM中使用的相机就是典型的刚体,相机 ...
- Cocos Creator实现的《点我+1》
一.前言 在学习Cocos中,需要一些东西来练手,于是前段时间就开发仿照一款公司之前的产品<点我+1>来做,仿照过程中,所有的算法逻辑都是自己研究的,并没有参考公司代码,也没有使用公司的美 ...
- chrome\IE\Firefox驱动下载地址
安装三大浏览器驱动driver 1.chromedriver 下载地址:https://code.google.com/p/chromedriver/downloads/list 2.Firefox的 ...
- C# 基于Aspose.Cells的数据导出到Excel
using Aspose.Cells; void WriteToExcel(string filePath, List<object[]> datas, string sheetName ...