ADO控件之事务管理在VB和DELPHI中的应用_信息工程大学学报.doc
《ADO控件之事务管理在VB和DELPHI中的应用_信息工程大学学报.doc》由会员分享,可在线阅读,更多相关《ADO控件之事务管理在VB和DELPHI中的应用_信息工程大学学报.doc(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ActiveX数据对象之事务控制在VB和DELPHI中的应用马根峰1 , 孙艳2 , 宋伟1( 1.重庆邮电学院 ,重庆, ;2. 铁道部第十九工程局四处,通辽, ) 摘要 事务控制是数据库应用系统中的关键技术之一,本文一开始先对事务控制的概念以及微软的 ActiveX数据对象(ADO)的事务控制做了简介,之后以一个具体的实例给出ActiveX数据对象的事务控制在VB和DELPHI中的使用方法。 关键词 ActiveX数据对象(ADO);事务控制;VB;DELPHI中图分类号:文献标识码:1 引言 在数据库的应用中,有时会遇到以独立单元保存或取消对源数据所做的一系列更改。例如在货币转帐时,必须
2、从帐户中减去某个数额并将其对等数额添加到另一个帐户。无论其中的哪个更新失败,都将导致帐户收支不平衡。再如,在进行商品库存管理时,当发生购进或售出商品时,一方面要在商品的销售表中保存该商品的销售记录,另一方面,还要在商品库存中对该种商品的库存进行调整。无论其中的哪个更新失败,都将导致商品收支不平衡。在这种情况下,必须通过事务控制来保证操作的一致性。2 ActiveX数据对象事务控制2.1 ActiveX数据对象(ADO)简介 Microsoft ActiveX Data Objects(ADO)是Microsoft开发的数据访问对象,它可使用户通过何OLE DB Provider 访问数据库服务
3、器中的数据。ADO趋向于提供一种稳定的接口,来使用户利用多种不同的数据源包括从非关系型数据源(包括文本文件、电子邮件等)到ODBC关系型数据库。所以它是对ODBC的扩充。ADO的主要优点是使用简单,快速,内存消耗量低,磁盘的占有量少,在关键情况下网络的通信量最少,前端与数据存储之间的层次最少,是一种轻便质优的接口。 2.2 ActiveX数据对象(ADO)事务控制 BeginTrans、CommitTrans和RollbackTrans是ADOConnection部件供数据库应用程序在运行时调用开始事务、控制并保存或放弃所做数据修改的方法。l BeginTrans开始一个事务当开始一个事务时,
4、后来所有读写数据库的操作都发生在这次事务的环境中,直到本次事务通过调用CommitTrans或RollbackTrans来显示的终止为止。还以商品管理为例,当购进或售出商品时,在商品数据库记录上必须发生两个修改: A、购进或销售的记录必须记录在销售表中; B、在商品库存中对该类商品的库存进行调整。 如果出于某种原因,其中的一个操作不能被完成,那么任何一个操作都不应该发生。因为这些操作是相关的,它们发生在同一个事务中。l RollbackTrans取消事务中的修改并终止当前事务 为了取消对数据库所做的修改,必须用RolllbackTrans方法返回一个事务。RollbackTrans方法取消当前
5、事务中对数据库所做的修改并终止当前事务。l CommitTrans提交一个事务 为了做永久性的修改,必须CommitTrans方法提交事务,这将保存用户对数据库所做的修改并结束当前事务。在VB 6.0中,ADO成为它与各种数据源的缺省接口,ADO数据访问方式是现在和未来VB乃至Microsoft的各种应用软件进行数据访问与应用的主流。而在DELPHI中,基于DBE(Borland Database Engine的简称,即Borland数据库引擎)的数据库访问方式是DELPHI的标准的、传统的方式;基于ADO技术的数据库访问方式,这是DELPHI 5.0新增的功能。DELPHI 5.0 提供了一
6、整套ADO组件,封装了ADO框架的所有功能。 下面以商品库存管理来分别阐明ADOConnection的事务控制在VB和DELPHI中的应用。3 商品库存管理中的数据库该数据库GoodsManagement用Microsoft的SQLServer创建,包括三个用户数据表,用户表Users、库存表Goods、进销表InOutGoods,每个数据表的表结构如下:l 用户表Users字段名数据类型长度用户名VARCHAR 8用户类型 VARCHAR 10用户口令 VARCHAR 6主键为:用户名 注:用户类型有一般用户和系统管理员两种,其中一般用户只能进行销售商品,碉系统管理员还可以增加或删除用户,由
7、于本文章只是阐述ADOConnection的事务控制,所以也就涉及到用户管理。l 库存表Goods字段名数据类型长度商品名VARCHAR 14商品描述 VARCHAR 16商品库存 SMALLINT 2 主键为:商品名l 进销表InOutGoods字段名数据类型长度进销 VARCHAR 2商品名称 VARCHAR 14商品数量 SMALLINT 2商品价格 MONEY 8操作人员 VARCHAR 8操作时间 DATETIME 8 主键为:(操作人员,操作时间)外键为:操作人员,对应于Users表的用户名4 ADO事务控制应用商品库存管理在VB中的实现41 数据环境设计器 图1数据环境设计器数据
8、环境设计器中主要控件的属性如下:控件名控件类型重要属性设置CN ADOConnection对象 ConnectSource如下:Provider=SQLOLEDB.1;Password=SA;Persist Security Info=True;User ID=sa;Initial Catalog=GoodsManagementGoods ADOCommand对象ConnectionName:CN CommandText:Goods InOutGoods ADOCommand对象 ConnectionName:CN CommandText:Goods StrSQL ADOCommand对象 C
9、onnectionName:CN CommandText:Goods 42 进库管理模块的代码下面就以其中的一个程序段“进库管理”来说明ADO数据对象如何实现事务管理。 Dim intNum1, intNum2 As Integer 开始一个事务 DE.Cn.BeginTrans With DE.rsInOutGoods 写入购进商品的记录 .AddNew .Fields(0).Value = 进 .Fields(1).Value = TxtName.Text .Fields(2).Value = CInt(TxtNumber.Text) .Fields(3).Value = CInt(Txt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ADO 控件 事务管理 VB DELPHI 中的 应用 信息 工程 大学 学报
限制150内