今天是: 2025-10-16  "世界粮食日"  爱粮节粮保安全,优粮优价促增收

技巧网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问移动社区

搜索
热搜: PLC 视觉 活动
查看: 3|回复: 0

[C#编程] C#编程数据库创建与使用事务

[复制链接]

  离线 

TA的专栏

累计签到:324 天
连续签到:4 天

93

主题

5

回帖

336万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3361468
发表于 昨天 21:45 | 显示全部楼层 |阅读模式 中国河南
六、创建与使用事务
1.为什么要使用事务
分析银行转账流程:资金从账户 A 转到账户 B ,至少需要两步:
[1]账户 A 的资金减少;然后账户 B 的资金相应增加。

问题:假定贺小张的账户直接转账 1000 元到马小李的账户

C#编程数据库创建与使用事务

C#编程数据库创建与使用事务

转账失败原因分析

C#编程数据库创建与使用事务

C#编程数据库创建与使用事务

2.什么是事务
事务的概念及要求
[1]事务(TRANSACTION )是作为单个逻辑工作单元执行的一系列操作。
[2]多个操作作为一个整体向系统提交,要么执行、要么都不执行。
[3]事务是一个不可分割的工作逻辑单元。

银行转账过程就是一个事务
[1]它需要两条 UPDATE 语句来完成,这两条语句是一个整体。
[2]如果其中任一条出现错误,则整个转账业务也应该取消,两个账户的余额应恢复到原来的数据,从而确保转账前和转账后的余额不变。


3.事务的特性
事务必须具备以下四个属性
[1]原子性(Atomicity):事务是一个完整的操作 ,事务的各步操作是不可分的 ,要么都执行,要么都不执行。
[2]一致性(Consistency):当事务完成时,数据必须处于一致状态。
[3]隔离性(Isolation):并发事务直接彼此隔离、独立,它不应以任何方式依赖于或影响其他事务。
[4]永久性(Durability):事务完成后,它对数据库的修改被永久保存。

4.事务的分类
显式事务
[1]用 BEGIN TRANSACTION 明确指定事务的开始。
[2]最常用的事务类型。

隐式事务
[1]通过设置 SET IMPLICIT_TRANSACYION ON 语句,将隐式事务模式设置为打开。
[2]其后的 T-SQL 语句自动启动一个事务。
[3]提交或回滚一个事务后,T-SQL 语句又将启动一个新事务。


自动提交事务
[1]SQL Server 的默认模式。
[2]每条单独的 T_SQL 语句视为一个事务。


5.如何创建事务
使用 SQL 语句管理事务的基本步骤
[1]开始事务

C#编程数据库创建与使用事务

C#编程数据库创建与使用事务

[2]提交事务

C#编程数据库创建与使用事务

C#编程数据库创建与使用事务

[3]回滚事务

C#编程数据库创建与使用事务

C#编程数据库创建与使用事务

事务处理的关键问题
[1]对事务中的 insert、update、delete 语句实时跟踪。

判断某条语句执行是否出错的方法
[1]使用全局变量@@ERROR。
[2]@@ERROR 只判断当前一条 T-SQL 语句执行是否有错。
[3]为了判断事务中所有的 T-SQL 语句是否有错,可以对错误进行累计。

C#编程数据库创建与使用事务

C#编程数据库创建与使用事务

6.使用事务解决转账问题
启用事务转账的代码

C#编程数据库创建与使用事务

C#编程数据库创建与使用事务
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

 
QQ在线咨询
售前咨询热线
暂无
售后咨询热线
暂无
快速回复 返回顶部 返回列表