计算机毕业论文|计算机论文|计算机毕业设计|计算机网络论文  
设为首页 加入收藏 联系站长
论文无忧网|专业的计算机论文、计算机毕业论文服务网站
计算机毕业设计 计算机毕业论文 计算机论文 管理系统 工资 在线选课 图书
当前位置:计算机毕业论文网 >> PB论文设计 >> 浏览文章
基于pb的商场零售管理系统

【说明】本站所列作品的内容只是论文的部分介绍,如果想了解此作品的详细资料,请联系在线客服。
全套设计作品包括系统+源程序+论文+开题报告+使用手册,可以直接作为毕业设计/论文使用.
本站作品全部经过技术员测试,完整无错,大家可以放心参考使用。包调试,包指导,售后全部免费,直到您通过答辩为止。
现成作品的购买流程请参照:购买现成作品流程 网站介绍 常见问题解答

2.1.3  PowerBuilder面向对象程序设计的过程

事实上用户在运用Power-Builder进行程序设计的一开始,就已经开始进行对象类的设计:例如在建立窗口时可以用窗口画笔(painter)建立一个新窗口,命名为w_emp。建立的窗口就是从PowerBuilder的窗口对象继承下来的,所以窗口会自动具备一些属性,例如XY的坐标、高度、宽度、窗口类型、标题等。当用窗口画笔建立窗口时,您给这些属性赋了值,你还可以增加窗口的函数和事件。

22  数据库的事务管理

在数据库中,所谓事务是指一组逻辑操作单元,使数据从一种状态变换到另一种状态。为确保数据库中数据的一致性,数据的操纵应当是离散的成组的逻辑单元:当它全部完成时,数据的一致性可以保持,而当这个单元中的一部分操作失败,整个事务应全部视为错误,所有从起始点以后的操作应全部回退到开始状态。

-对事务的操作是这样进行的:先定义开始一个事务,然后对数据作修改操作,这时如果提交(COMMIT),这些修改就永久地保存下来,如果回退(ROLLBACK),数据库管理系统将放弃您所作的所有修改而回到开始事务时的状态。此外有些数据库支持事务的"存储点(savepoint)这一概念:即在一个事务进程中任意一点您都可以进行当前状态的存储,回退时只是回到你所设定的存储点,而不必退回全部的事务。如果您的事务可以分成几组对数据库的修改,那就可以设置多个存储点,根据需要您可以回退到任意一个存储点,而不使所有事务的修改数据全部丢失。

正确地管理事务可以保证数据的完整性,当您所做的工作全部完成和得到确认之前,没有任何数据物理地写进数据库。让我们来看这样一个实例,我们有这样一个银行应用系统,前台使用者作出将储户甲的一百元存款划归储户乙帐下的操作;在后台的数据库中,这两个客户的记录分储在两张表中,当使用者在屏幕上作出如上操作时,在后台需要对两张表进行修改。如果在数据库中对甲用户存款余款作减去一百元修改后,对乙用户加一百元的操作修改却失败时,前一张表也必须回到修改前的状态,否则数据库的内容不统一,甲储户白白损失一百元,信息必然是不正确的。因此进行事务管理是必须的。

传统地,我们认为一个事务包括了对一个或多个表的修改,而随着分布式数据库和数据仓库的发展,事务可能包括了对一个或多个数据库的修改。在上例中甲乙两用户就可能是异地用户,信息分储在不同地域的不同数据库中,上述的一个事务就涉及到了对不同数据库的操作。

2.2.1  PowerBuilder中的事务管理

作为数据库的前台开发工具Power-Builder支持事务管理的操作。在Power-Builder中有一种称作事务(transaction)的对象,这个对象是PowerBuilder应用与数据库的通讯区域。PowerBuilder在应用开始时建立一个全局的事务对象SQLCA。由于大多数的应用只用到一个数据库,所以一般开发者主要也只用SQLCA作为与唯一数据库连接的事务对象。PowerScrip中常用的事务管理的语句有4个:COMMIT,ROLLBACK,CONNECT,DISCONNECT

当您需要应用与数据库建立连接时使用CONNECT

34  关键设计

本系统采用弹出菜单的功能,将多个按键的功能集于一身,省去一个界面里有多个按键,使得界面简洁直观。

3.4.1弹出菜单的设计

     当用户在数据窗口控件中单击鼠标右键的时候会在鼠标位置出现一个弹出菜单。但现在在进行窗口设计的时候并没有将任何菜单和窗口关联,因此,首先必须创建菜单对象,再将菜单关联到窗口。创建菜单对象之前首先需要说明一个菜单变量。和任何变量说明一样,说明菜单变量的语句如下:m_dwpop lm_dwpop

其中,m_dwpop是创建的弹出式菜单的菜单名字。有了菜单变量说明语句,接下来的问题是把菜单变量说明语句放在什么位置,也就是弹出菜单的作用域是什么。调用菜单的地方是在数据窗口控件中的单击鼠标右键的事件中发生。既然如此,菜单变量的说明完全可以放在该事件中。在数据窗口的RbuttonDown事件中写上:m_dwpop lm_dwpop。有了菜单变量声明之后就该创建菜单实例,创建菜单实例的代码如下:lm_dwpop=create m_dwpop。一但菜单实例创建完毕就可以象窗口菜单那样使用。现在程序要做的是如何实现弹出菜单。弹出菜单的方式是通过菜单的popmenu()函数。Popmenu()函数的作用是在指定位置显示弹出菜单。在使用popmenu()函数时,将菜单对象的visible属性设置为true,否则用户不会在窗口上看到弹出菜单。完整的菜单调用函数如下:m_dwpop lm_dwpop

lm_dwpop=create m_dwpop lm_dwpop.popmenu(parent.pointerx(),parent.pointery())

上述代码中parent.pointerx()parent.pointery()表示确定鼠标指针离指定对象左边缘和上边缘的距离。作为函数popmenu()的参数就是在窗口鼠标指针显示的位置处弹出菜单m_dwpop

3.4.2弹出菜单中的功能设计

若仅仅弹出一个菜单而不做任何事这显示是不行的,在弹出菜单中我们需要对数据窗口实现新增、删除和存盘等一系列工作。在弹出式菜单中实现对数据窗口操作的一种通用方法是在菜单中调用其父窗口的事件。在菜单对象的函数中有一个函数postevent(),该函数将指定事件放置到指定对象或控件事件队列的尾部(异步触发事件)。既然是调用父窗口的事件,那么首先要得到父窗口对象或者说指向父窗口对象。在菜单对象属性中一个叫parentwindow的属性指定菜单对象的父窗口。现在先假设父窗口w_employee有一个叫ue_dwnew的事件,在菜单中调用它的语句应该是:parentwindow.postevent(“ue_dwnew”)

有了事件调用语句,接下来就该写事件代码时间菜单上所要求的功能。通过菜单应对数据窗口需要实现新增、删除、存盘、上下移记录以及退出窗口等功能。

显然,这些功能在一个事件中实现是不太容易的,也不太可能用窗口自带的事件。惟一解决办法就是为窗口自定义事件。例如打开员工信息维护窗口w_employee,选择事件列表,在事件列表的空白处单击鼠标右键,选择”add”(新增)命令。

或者选择powerbuilder主菜单insert->event命令,此时用户自定义事件窗口打开,现在将为窗口上的数据窗口增加一个实现添加新记录功能的事件ue_dwnew。由于事件不需要任何输入参数和任何返回参数,因此,在事件名字(event name)录入栏中输入事件名字“ue_dwnew”,然后在代码框中输入能实现记录添加的代码:long ll_row=0  ll_row=dw_1.insertrow(0) dw_1.setrow(ll_row) dw_1.setcolumn(“empcode”).类似其他功能代码如下:

刷新功能:dw_1.retrieve()  用户事件ue_dwrefresh

 

上一篇: 基于pb的日用品进销存管理系统
下一篇: 基于PB的人事薪资管理系统
在线客服  
点击这里给我发消息 点击这里给我发消息
点击这里给我发消息 点击这里给我发消息
QQ:528311109 QQ:528311109
  服务邮箱:Service@paper51.com
热门浏览
论文降价了,2010年毕业的同学你
计算机毕业论文无忧网-公告
计算机毕业论文-论文无忧网至同学
5年信誉服务保证-计算机毕业论文
购买现成作品流程
计算机毕业论文答辩过程中需要注
付款方式
网站介绍
计算机毕业论文答辩前的准备
常见问题
最近更新  
论文降价了,2010年毕业的同学你
计算机毕业论文无忧网-公告
计算机毕业论文-论文无忧网至同学
5年信誉服务保证-计算机毕业论文
购买现成作品流程
计算机毕业论文答辩过程中需要注
付款方式
网站介绍
计算机毕业论文答辩前的准备
常见问题
设为首页 | 加入收藏 | 关于本站 | 联系站长 | 友情链接 | 版权申明 | 在线留言 | 网站地图
Copyright 2006-2008 Powered by Paper51.com,论文无忧网 All Rights Reserved.
声明:《论文无忧网》,根据《信息网络传播权保护条例》,如果我们网站上的的作品侵犯了您的权利,请及时通知我们,我们会及时删除。
《论文无忧网》为您提供优秀的计算机毕业设计|计算机毕业论文|计算机论文|毕业论文等资料,仅供学习参考使用。