数据库并发控制几只——事务
来源:互联网 发布:成都蜀美网络 编辑:程序博客网 时间:2024/06/10 23:25
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
/*事务是一组被当作一个单元的操作,它们在执行时要么全部成功,要么全部失败。
例如转帐操作
事务的两个层次
数据库级的事务
ADO.NET事务
如果在某个操作中需要对数据库进行多次更新,则必须使用事务。
SqlTransaction myTransaction
=myConnection.BeginTransaction();
try
{ ...
myCommand = new OleDbCommand(cmdstr, myConnection,myTransaction);
...
myTransaction.Commit();
}
catch (Exception es)
{
myTransaction.Rollback();
}
*/
namespace Transaction
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
String connectionString = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"];
SqlConnection myconn = new SqlConnection(connectionString);
try
{
myconn.Open();
SqlTransaction myTransaction = myconn.BeginTransaction();//新建一个事务
try
{
string cmdstr = "update Account set money=money-100 where Id='1'";
SqlCommand mycmd = new SqlCommand(cmdstr,myconn,myTransaction);
mycmd.ExecuteNonQuery();
throw new Exception();//抛出异常,会直接被catch捕获,处理
string cmdstr2="update Account set money=money+100 where Id='2'";
SqlCommand mycmd1 = new SqlCommand(cmdstr2, myconn, myTransaction);
mycmd1.ExecuteNonQuery();
myTransaction.Commit();//只有执行这句后数据库里面的数据才有可能会改变
}
catch(Exception ee)
{
myTransaction.Rollback();//进行回滚
MessageBox.Show("转账失败,正在回滚!");
}
myconn.Close();
}
catch (Exception ex)
{
MessageBox.Show("数据库连接失败!");
}
}
}
}
- 数据库并发控制几只——事务
- 数据库—事务—并发控制技术
- 数据库 事务并发控制
- 数据库事务和并发控制
- 数据库的事务控制和并发控制
- 数据库的事务控制和并发控制
- 事务并发——并发控制(加锁)
- 数据库系统原理复习题(八)——事务并发控制
- 数据库的事务,范式,处理,并发控制
- 数据库并发事务控制 一:综述
- 数据库并发事务控制 二:mysql数据库锁机制
- 数据库并发事务控制 三:mysql数据库MVCC
- 数据库并发事务控制四:postgresql数据库的锁机制
- 事务——恢复和并发控制的基本单位
- Mysql——锁、事务与并发控制
- 事务与并发控制
- 事务与并发控制
- 事务的并发控制
- linux下mysql连接失败: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
- java泛型之2
- zend studio小技巧
- Hdu 1542 Atlantis 线段树 求矩形面积并
- Git详解之四 服务器上的Git
- 数据库并发控制几只——事务
- Android Studio 在 win7 下的安装
- hdu1546-Idiomatic Phrases Gamehttp
- 安卓推送
- PHP正则表达式
- android 左右页面滑动(滑屏)增加layout文件 而不是drawable(还有activity)
- Sql Server高手必备
- event.keyCode的应用---表单按键的处理
- eclipse中相同变量高亮显示