All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
SQL数据操作基础(中级)6_mssql学习_编程技术
常用的二十六个优化性能方法(ASP.NET)_[Asp.Net教程]
从VS2003(.net1.1)升级到vs2005(.net2.0)全程跟踪记录_[Asp.Net教程]
SQL Server 2000中的触发器使用分析_[SQL Server教程]
ASP.NET,2.0高级数据处理之数据绑定语法_[Asp.Net教程]
PHP的服务器Apache中httpd.conf,的中文详解_php资料_编程技术
PHP环境下配置在线编辑器FCKeditor_[PHP教程]
使用php作linux自动执行脚本_[PHP教程]
SQLServer分页查询通用存储过程_[SQL Server教程]
借用VB的My,C#照样条条大路通罗马_.net资料_编程技术
Reading number is top 10 pictures
影评-疯子,我爱你
Sora aoi after swimming
007 James. bond's new lover
Breasts woman big set 1
NeedWallpaper10
The beginning and end
girl of HuNan name is LiXiang(湖南辣姐李湘的写真)
真正的国产-非模拍 贵在是真实2
俄罗斯台球天后惊艳魅惑1
Rendez-vous Sleep with actress, three days to earn 600000
Download software ranking
C#COM编程指南
Sora aoi 120 minutes
株洲本地在线棋牌游戏
Call Of Duty2
Adobe Flash Player(IE) 10.0.32.18 浏览器专用的FLASH插件
Tram sex maniac 2 (H) rar bag4
Tram sex maniac 2 (H) rar bag1
Prostitutes diary
Unix video tutorial15
SP3 for SQL2000
qq published in(发表于) 2014/7/9 1:34:54 Edit(编辑)
ADO.NET使用事务的使用实例

ADO.NET使用事务的使用实例

ADO.NET使用事务的使用实例

使用事务

事务是作为单个逻辑工作单元执行的一系列操作。一个逻辑工作单元必须有4个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务。事务管理特性,强制保持事务的原子性和一致性。事务启动之后,就必须成功完成,否则SQL Server将撤消该事务启动之后对数据所作的所有修改。

下面将应用事务的一致性来排除程序在运行过程中可能发生的一系列“危险”因素,确保数据的安全,例如,一个用户在取钱时,卡已放入取款机进行操作,等待取款,这时突然停电,通过事务可以帮助用户挽回损失,将信息恢复到操作之前的状态。程序运行结果如图1、图2和图3所示。



图1 查询窗体



图2 提示窗体



图3 提示窗体

程序开发步骤如下。

(1)新建一个windows窗体(FrmTran),在窗体上添加相应的控件(如图1所示)。

(2)主要程序代码如下。

首先实例化一个连接对象connection,其次通过连接对象connection又分别实例化一个Sql Transaction对象sqlTran、一个SqlCommand对象command,然后再将command对象的Transaction属性与sqlTran对象关联起来,通过事物实现程序的一致性,程序代码如下。

public bool Tran(string strID,string strName,string strSex,string strDelID,bool IfDO)

{

using (SqlConnection connection = ConDB()); //创建连接对象

{

SqlTransaction sqlTran = connection.BeginTransaction();//开始事务

SqlCommandcommand = connection.CreateCommand();//创建SqlCommand对象

command.Transaction = sqlTran;//将SqlCommand与SqlTransaction关联起来

try

{

command.CommandText = "insert into t_people values('" + strID + "','" + strName +

"','" + strSex + "')";

command.ExecuteNonQuery();

command.CommandText = "delete from t_people where tb_PID='" + strDelID + "'";

command.ExecuteNonQuery();

if (IfDO)//抛出异常,令其发生回滚

{

throw new Exception();

}

sqlTran.Commit();

connection.Close();

return True;

}

catch (Exception ex)

{

Console.WriteLine(ex.Message);

sqlTran.Rollback();

return False;

}

}

}

为Tran方法获取参数,如果Tran方法成功,则信息成功添加,否则添加失败。为了使读者可以更好地了解事务的工作原理,程序中人为的标识事务的操作方式(提交、回滚)。程序代码如下:

private void button1_Click(object sender, EventArgs e)

{

ClsDB.ClsDBControl DBDT = new OptDB.ClsDB.ClsDBControl();

string strid, strname, strsex, strDelid;

strid = this.textBox1.Text.Trim().ToString();

strname = this.textBox2.Text.Trim().ToString();

strsex = this.textBox3.Text.Trim().ToString();

strDelid = this.textBox4.Text.Trim().ToString();

bool Bt;

if (this.radioButton1.Checked)

{

Bt = False;

}

else

{

Bt = True;

}

if (DBDT.Tran(strid, strname, strsex, strDelid, Bt))

{

MessageBox.Show("事务供交成功");

}

else

{

MessageBox.Show("事务回滚成功");

}

}

完整程序代码如下:

★ ★★★★FrmTran.cs窗体代码文件完整程序代码★★★★★

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

namespace OptDB

{

public partial class FrmTran : Form

{

public FrmTran()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

ClsDB.ClsDBControl DBDT = new OptDB.ClsDB.ClsDBControl();

string strid, strname, strsex, strDelid;

strid = this.textBox1.Text.Trim().ToString();

strname = this.textBox2.Text.Trim().ToString();

strsex = this.textBox3.Text.Trim().ToString();

strDelid = this.textBox4.Text.Trim().ToString();

bool Bt;



添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.