设为首页 加入收藏 网站首页
休闲娱乐
军事·社会百态·娱乐八卦·校园
体育·美女写真·幽默笑话·游戏
综合·在线视频·搞笑图片·灵异
两性生活
两性知识·性爱技巧
情色实录·两性图片
女性健康·同性之恋
电脑网络
网络编程·网页制作·软件教学
操作系统·图形图象·冲浪宝典
网络安全·邮件系统·认证考试
热点专题
芙蓉·真人漫画
72式·欲望都市
帅哥·人体彩绘
您现在的位置: 世纪中国 >> 网络编程 >> ASP.NET教学 >> ado.net应用 >> 教程正文
使用ADO.NET配置SQL Server事务处理
作者:中国图霸    教程来源:网络    点击数:    更新时间:2007-1-1

    ADO.NET提供了处理后台数据所需要的一切功能,并且使用起来就如同从一张表格中读取一个数据那样简单。事务处理(transaction)允许你把数据库操作归为一组,由此来保证所有的操作都能够执行。因为一旦其中的一项操作执行失败,则整个事务处理都会失败。现在让我们来看看在.NET Framework下是如何使用事务处理的。

    事务处理概况
 
 
    事务处理是把一组操作合并为一个逻辑上的工作单元。在系统中没有出现错误的情况下,开发人员可以使用事务处理来控制并保持事务处理中每一个动作的连续性和完整性。

    使用这样的方法可能导致向两个极端情况发展:要么在事务处理中的所有操作都得到执行,要么没有任何操作得到执行。这样的方法对于实时应用程序来说非常必要。

    银行业务是一个范例。事务处理应当包括从一个帐户到另一帐户的转帐过程。这一过程属于事务处理,原因是从某帐户中支出和在另一帐户存入两个动作必须被作为一个整体来执行——任何一方都不允许失败。在深入研究ADO.NET编程之前,让我们先来看看在SQL中是如何进行事务处理的。

SQL事务处理
SQL允许开发人员使用两个简单的声明来使用事务处理

Begin Transaction (启动事务处理)

Commit Transaction (提交事务处理)

    在两条声明中的所有语句都成为事务处理的一部分。命令Begin Transaction位于整个事务处理的起始位置,因此其后的所有命令只有在执行到命令Commit Transaction时才会被一并执行。ADO.NET方法就这么简单。

ADO.NET事务处理
 
 
    事务处理需要一个数据库连接以及一个事务处理对象。在SQL Server和ADO.NET中使用事务处理的难点在于SqlTransaction类。此类名称随所使用的数据库平台的不同而会有一些变化。例如,对于OLEDB数据库来说,事务处理类名为OleDbTransaction。

System.Data.SqlClient namespace包括了SqlTransaction类。此类包括了两个属性:

Connection:指示同事务处理相关联的SqlConnection对象;

IsolationLevel:定义事务处理的IsolationLevel。

属性IsolationLevel是包括如下成员的枚举对象:

Chaos:从高度独立的事务处理中出现的pending changes不能被覆盖;

ReadCommitted:当数据需要被非恶意读取时,采用共享锁定(shared locks),但数据仍然可以在事务处理结束时被更新,这造成了非重复性的数据读取(nonrepeatable reads)或phantom data的产生;

ReadUncommitted:恶意读取数据是可能发生的,这表示没有使用共享锁定(shared locks),并且没有实现独占锁定(exclusive locks);

RepeatableRead:锁定查询中所用到的所有数据,由此避免其他用户对数据进行更新。在phantom rows仍然可用的状态下,这可以避免非重复性的数据读取(nonrepeatable reads);

Serialisable:在DataSet中进行范围锁定,由此防止其他用户在事务处理结束之前更新数据或在数据库中插入行;

IsolationLevel定义锁定记录的级别,但这一概念不在本文

[1] [2] 下一页

分类推荐
社会 社会 娱乐 军事 校园
幽默 体育 女性 专题
电脑 编程 网页 软件 系统
安全 图象 冲浪 认证
搞笑 人物 动物 物品 表情
签名 色图 漫画 奇闻
美女 明星 清纯 自拍 欧美
丝袜 卡通 性感 走光
两性 知识 性图 孕育 技巧
同性 单身 情感 实录
视频 写真 搞笑 MTV 翻唱
写实 片段 游戏 综艺
ado.net应用热门文章
普通教程 NHibernate与Ado.Net查询速度的
普通教程 使用 DataAdapter 执行批量更新
普通教程 ADO.NET 2.0批量数据操作和多动
普通教程 ADO.NET中的sql连接
普通教程 ADO.NET 数据库实例教程
普通教程 ADO.NET操纵数据库
普通教程 初谈ADO.NET中利用DataAdapter
普通教程 最佳实践 ADO.NET实用经验无保
普通教程 ADO.NET2.0跟ADO.NET3.0的一些
普通教程 深入分析ADO.NET中的DataSet对
普通教程 使用ADO.NET2.0提升数据交互性
普通教程 ADO.NET 2.0:如何排除错误信息
普通教程 使用ADO.NET2.0提升数据交互性
普通教程 使用ADO.net将数据导出到Excel
普通教程 使用ADO.NET配置SQL Server事务
普通教程 使用ADO.NET2.0提升数据交互性
普通教程 使用ADO.NET2.0提升数据交互性
普通教程 使用ADO.NET2.0提升数据交互性
普通教程 下一代ADO.NET---ADO.NET Enti
普通教程 通过ADO.NET存取文件

  广东广州海珠区 世纪网络工作室 版权所有 上海电信提供网络带宽
信箱: 9297659@qq.com 粤ICP备06113754号