计算机与信息工程学院规范化课程_第1页
计算机与信息工程学院规范化课程_第2页
计算机与信息工程学院规范化课程_第3页
计算机与信息工程学院规范化课程_第4页
计算机与信息工程学院规范化课程_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PAGE PAGE 78计算机与与信息工工程学院院规范化化课程大型数据据库案 例丽水学院院计算机机与信息息工程学学院周建东20077年111月目 录录案例一:项目管管理信息息系统.1案例二:微机租租赁管理理系统.118案例三:丽水学学院刷卡卡考勤系系统.449案例一:项目管管理信息息系统本例是一一个简化化的“项目管管理信息息系统”,以项项目信息息(项目目编码、项目名名称、开开发经费费、应用用情况和和参加人人员)以以及项目目开发人人员自身身的信息息(编码码、姓名名、性别别、出生生年月、职称、部门)为主线线,以部部门表等等为辅表表,实现现了项目目和人员员信息的的录入、查询和和管理等等功能,展示了了

2、用PoowerrBuiildeer开发发系统的的方法和和技巧。本系统的的主要功功能包括括以下几几部分:项目管理信息系统系统管理统计报表数据处理部门维护人员维护人数统计项目统计更改密码数据备份用户管理项目维护一、创建建应用PoweerBuuildder88.0的的应用程程序是以以工作区区文件、目标文文件、库库文件的的形式保保存的,因此创创建这些些文件是是编写应应用程序序的第一一步。1创建建应用的的步骤如如下: 在WWinddowss资源管管理器中中为应用用新建一一个目录录,如DD:PProjjectt。此目目录用于于保存本本系统的的工作区区文件、目标文文件、应应用库文文件和数数据库文文件。 启动

3、动PowwerBBuillderr8.00,单击击Powwer工工具栏的的新建按按钮,打打开。 在NNew对对话框中中选择图图标,打打开Neew对话话框。 选择择保存WWorkkspaace的的目录(D:Proojecct),并在文文件名文文本框中中输入PProjjectt,然后后单击“保存”按钮,回到PPoweerBuuildder主主界面。 单击击Powwer工工具栏中中的新建建按钮,打开NNew对对话框,选择TTargget标标签页,并双击击Apppliccatiion图图标,打打开Sppeciify Neww Apppliicattionn annd LLibrraryy对话框框。在该

4、该对话框框中要指指定应用用对象名名及所用用库、目目标,输输入应用用对象名名后,按按Tabb键,会会以默认认方式自自动为应应用对象象指定LLibrraryy和Taargeet,如如下图所所示: 单击击Finnishh按钮就就建立了了一个空空白的应应用对象象proojecct,可可以在PPoweerBuuildder的的Sysstemm Trree中中看到。2应用用的Oppen事事件脚本本:SQLCCA.DDBMSS = ODDBCSQLCCA.AAutooCommmitt = FallseSQLCCA.DDBPaarm = Connnecctsttrinng=DSNN=PrrojeectCONN

5、NECTT USSINGG SQQLCAA;IF SSQLCCA.SSQLCCodee00 THHENBeeep(11)MesssaggeBoox(连接错错误,SQLLCA.SQLLerrrTexxt)Hallt CClosseELSEE/tthiss.TooolbbarTTextt = Truuethiis.TToollBarrFraameTTitlle = 框架窗窗口工具具条thiis.TToollBarrSheeetTTitlle = 当前窗窗口工具具条thiis.TToollBarrPoppMennuTeext = 左边,上边,右边,下边,浮动,显示文文字,图图标提示示OPEEN(ww

6、_looginn)END IF上述脚本本的作用用主要是是建立与与数据库库的连接接,然后后打开登登录窗口口。二、创建建数据库库1数据据库设计计本系统采采用了PPoweerBuuildder88.0自自带的一一个小型型关系数数据库AAdapptivve SServver Anyywheere77.0。在PowwerBBuillderr8.00集成环环境下创创建数据据库的步步骤如下下: 单击击Powwer工工具栏的的DB Proofille按钮钮,打开开Dattabaase Proofilles对对话框。 在DDataabasse PProffilees对话话框中展展开ODDB OODBCC列表项项

7、,在展展开其下下面的UUtillitiies列列表项。双击CCreaate ASAA Daatabbasee项,系系统打开开Creeatee ASSA DDataabasse对话话框。 在CCreaate ASAA Daatabbasee对话框框中输入入Dattabaase Namme(如如D:ProojecctPProjjectt.dbb),其其余均用用默认值值。单击击OK按按钮,系系统开始始创建数数据库。PoweerBuuildder在在创建数数据库后后,自动动创建了了ODBBC数据据源Prrojeect和和描述文文件Prrojeect,并自动动连接上上数据库库。如果果用Syybasse

8、CCenttrall创建AASA数数据库,还需要要手工创创建ODDBC数数据源和和描述文文件。2创建建数据表表本数据库库包含55个数据据表:部门信信息表(depparttmennt)列名列标识数据类型型宽度小数空值主键部门编码码deptt_iddcharr20NY部门名称称deptt_naamecharr200NN人员信信息表(perrsonnnell)列名列标识数据类型型宽度小数空值主键编码p_iddcharr40NY姓名nameecharr100NN性别sexcharr10YN项目信信息表(proojecct)列名列标识数据类型型宽度小数空值主键项目编码码pro_idcharr40NY项目

9、名称称pro_nammecharr400NNoutllaydoubble80YN项目参参与人员员表(mmembber)列名列标识数据类型型宽度小数空值主键项目编码码pro_idcharr40NY编码p_iddcharr40NY系统用用户信息息表(uuserrs)列名列标识数据类型型宽度小数空值主键用户编码码userr_iddcharr100NY用户姓名名userr_naamecharr100NN密码passswdcharr60YN创建表的的外键和和索引以创建表表perrsonnnell的外键键为例,介绍创创建外键键的步骤骤。 在数数据库画画板的OObjeect视视图中,找到并并双击打打开pee

10、rsoonneel表,右击FForeeignn Keeys,打开弹弹出式菜菜单。 在弹弹出式菜菜单中选选择Neew FForeeignn Keey菜单单项,进进入Fooreiign Keyy视图。在Geererral标标签页中中设置外外键名称称和本表表外键对对应字段段;在PPrimmaryy Keey标签签页中设设置外键键的对应应表;在在Rulles标标签页中中设置外外键连接接规则。其创建建的外键键为:fk_ddeptt_idd,外键键字段为为p_iid,对对应deeparrtmeent表表的主键键deppt_iid 设置置完成后后,单击击工具栏栏上的SSavee按钮,保存所所创建的的外键。表

11、memmberr的两个个外键,分别为为:fk_mmembber_prooid:外键字字段为ppro_id,对应pprojjectt表的主主键prro_iidfk_mmembber_pidd:外键键字段为为p_iid,对对应表perrsonnnell的主键键p_iid3创建建编辑风风格在数据库库画板中中创建编编辑风格格,并设设定表中中某列的的编辑风风格,这这样在日日后生成成数据窗窗口时,该列将将使用在在数据画画板中定定义的编编辑风格格,从而而可以节节省设计计的时间间和工作作量。本实例需需要创建建三个编编辑风格格,分别别命名为为es_depparttmennt、ees_pprojjectt和ess

12、_peersoonneel,分分别用来来显示部部门数据据、项目目数据和和开发人人员数据据。这三三个编辑辑风格均均使用下下拉数据据窗口样样式,因因此,在在创建编编辑风格格之前,首先应应创建三三个数据据窗口对对象。创建ddddw_depparttmennt数据据窗口对对象该数据窗窗口的表表现风格格为Taabullar,数据源源为deeparrtmeent表表的所有有列。在在数据窗窗口画板板下,把把deppt_iid设为为不可见见。该数数据窗口口的布局局如图所所示。下面以创创建ess_deeparrtmeent编编辑风格格为例,介绍具体体操作步步骤为: 在数数据库画画板下,打开扩扩展属性性(Exxt

13、enndedd Atttriibuttes)视图,右击EEditt Sttylees项目,显示弹弹出式菜菜单。 在弹弹出式菜菜单中选选择Neew菜单单项,打打开Eddit Styyle对对话框。 按照照下图所所示,输输入各有有关参数数。 输入入完毕,单击OOK按钮钮,返回回数据库库画板。三、创建建用户对对象、全全局函数数和祖先先窗口为了减轻轻应用程程序设计计的工作作量,以以及使应应用程序序更容易易维护,在进行行系统开开发时往往往需要要创建一一些用户户对象。本实例例需要创创建多个个命令按按钮用户户对象和和两个数数据窗口口用户对对象,还还需要创创建一个个用来对对用户口口令加密密的全局局函数,创建一

14、一个作为为所有表表单(SSheeet)祖祖先的窗窗口。1创建建命令按按钮用户户对象为应用中中常用的的命令按按钮创建建用户对对象,然然后根据据需要把把这些按按钮用户户对象添添加到窗窗口中,可以使使应用界界面保持持一致,也便于于日后维维护。本本实例需需要创建建8个按按钮用户户对象。这8个个按钮用用户对象象的名称称、属性性和功能能如下表表所示。名称Textt属性值值功能uo_ook确定(&Y)确认当前前操作uo_cclossse关闭(&C)关闭当前前窗口uo_ddeleete删除(&D)删除当前前记录uo_eeditt编辑(&E)编辑当前前记录uo_ffindd查找(&F)打开查询询窗口uo_nne

15、w新增(&N)新增一条条记录uo_rrefrreshh刷新(&R)刷新当前前数据窗窗口uo_ssavee保存(&S)保存数据据下面以关闭按钮用用户对象象为例,介绍建建立按钮钮用户对对象的步步骤。 单击击Powwer工工具栏上上的Neew按钮钮,在打打开的NNew对对话框中中选择PPB OObjeect标标签页,然后选选择Sttanddardd Viisuaal图标标,在单单击OKK按钮,打开SSeleect Staantaard Vissuall Tyype对对话框。 在对对话框中中选择CCommmanddbutttonn列表项项,然后后单击OOK按钮钮,打开开用户对对象画板板。 在属属性视图

16、图中设置置有关属属性,如如下图所所示: 在脚脚本视图图中编写写该按钮钮cliickeed事件件的脚本本。“关闭”按钮的的cliickeed事件件脚本为为:Cllosee(Paarennt) 单击击画板工工具栏的的Savve按钮钮,保存存用户对对象,名名字为uuo_cclosse。按照上述述办法建建立其它它按钮用用户对象象。(除除uo_cloose外外,其它它按钮不不选中CCanccel属属性,而而且不用用编写事事件脚本本)。 2创建建数据窗窗口用户户对象本实例需需要建立立两个数数据窗口口用户对对象。建立uuo_ddw_ffreeeforrm数据据窗口用用户对象象单击Poowerr工具栏栏上的N

17、New按按钮,在在打开的的Neww对话框框中选择择PB Objjectt标签页页,然后后选择SStanndarrd VVisuual图图标,再再单击OOK按钮钮,打开开Sellectt Sttanddardd Viisuaal TTypee对话框框,选择择dattawiindoow列表表项,然然后单击击OK按按钮,打打开用户户对象画画板。定义外外部全局局变量。语句如如下:Striing gs_useeridd,gss_pwwd /用户IID,用用户密码码Boolleann gbb_maanagger /管理者者建立用用户自定定义事件件。首先定义义APII函数subrrouttinee keey

18、bdd_evventt(uiint bVkk,uiint bSccan,lonng ddwFllagss,loong dwEExtrraInnfo ) llibrraryy uuserr32.dlllShifft_eer自定定义事件件:事件件ID为为pbmm_dwwnkeey。事事件脚本本如下:/回车车键及下下箭头键键下移焦焦点If kkey = KKeyEEnteer! Or Keyy = KeyyDowwnArrroww! TThennkeyybd_eveent ( 99, 00, 00, 00 ) / 按下ttab keyybd_eveent ( 99, 00, 22, 00 ) / 释

19、放ttab Retturnn 0End If /上箭箭头键上上移焦点点If KKey = KKeyUUpArrroww! TThenn keyybd_eveent ( 116, 0, 0, 0 ) / 按下下shiift keyybd_eveent ( 99, 00, 00 , 0 ) / 按下下tabb keyybd_eveent ( 99, 00, 22, 00 ) / 释放ttab keyybd_eveent ( 116, 0, 2, 0 ) / 释放放shiift Retturnn 1 End If 该事件用用来实现现在数据据窗口中中用回车车键及上上下箭头头移动输输入焦点点。注:用回回

20、车键代代替Taab键也也可以用用发送消消息的方方式来实实现:Sendd(Haandlle(tthiss),2256,9,LLongg(0,0)Retuurn 1ue_ddeleete自自定义事事件:事事件IDD为noone。事件脚脚本如下下:/删除除当前记记录IF GGetRRow()00 THHENIF DelleteeRoww(0)=1 THEENMeessaageBBox(提示示,当前记记录已被被删除,请按保存按钮提提交)ENDD IFFEND IF该事件用用来删除除数据窗窗口的当当前记录录。ue_rrefrreshh自定义义事件:事件IID为nnonee。事件件脚本如如下:/刷新新数据

21、Thiss.Reetriievee()该事件用用来重新新检索数数据窗口口的数据据(刷新新显示)。ue_ssavee自定义义事件:事件IID为nnonee。事件件脚本如如下:/保存存数据IF tthiss.Uppdatte()0 THEENCOMMMITT USSINGG SQQLCAA;MesssaggeBoox(提示,数数据已存存盘)ELSEEROLLLBAACK USIING SQLLCA;MesssaggeBoox(提示,数数据无法法存盘,Exxclaamattionn!)END IF该事件用用来更新新并提交交数据窗窗口的当当前记录录。 编写写dbeerroor事件件的脚本本。Messs

22、ageeBoxx(数数据库错错误,错误误代码:+sstriing(sqlldbccodee)+&rrn+错错误信息息:+sqllerrrtexxt)Retuurn 1 以uuo_ddw_ffreeeforrm为名名保存该该用户对对象。建立uoo_dww_grridfformm数据窗窗口用户户对象该用户对对象继承承自uoo_dww_frreefformm,把sshifft_eer自定定义事件件的脚本本更改为为:/按回回车键向向后移焦焦点IF kkey = KKeyEEnteer! THEENkeyybd_eveent ( 99, 00, 00 , 0 ) / 按下下tabb keyybd_eve

23、ent ( 99, 00, 22, 00 ) / 释放ttabRetturnn 1END IF数据窗口口标准类类,用回回车键、下箭头头、上箭箭头改变变输入焦焦点,适适用于ggridd风格3建立立全局函函数f_enccryppt()该函数用用来实现现对系统统用户口口令的加加密。函函数的定定义信息息如图所所示。函数的脚脚本如下下:/功能能:口令令加密/参数数:字符符串/返回回值:字字符串Inteegerr i,li_klllenStriing ls_zmkklli_kklleen=LLEN(a_yymm)FOR i = 1 TO li_klllen lls_zzmkll = ls_zmkkl+CC

24、HARR(ASSC(MMid(a_yymm,i,11)+i+lli_kklleen)NEXTTRETUURN ls_zmkkl通过加密密函数,保存在在数据库库的用户户密码就就不是明明文,而而是加密密的密文文。4建立立表单(Sheeet)祖先窗窗口w_basseshheett该窗口的的所有属属性均采采用默认认值。其其Opeen事件件的脚本本如下:thiss.X=(w_maiin.WWorkkSpaaceWWidtth() - thiis.WWidtth)/2thiss.Y=(w_maiin.WWorkkSpaaceHHeigght() - w_maiin.mmdi_1.MMicrroHeelpH

25、Heigght - tthiss.Heeighht)/2 - 500上述语句句的作用用是实现现表单窗窗口在工工作区的的中间显显示。由由于主窗窗口w_maiin还未未创建,因此需需要把它它们加上上注释标标记,待待创建主主窗口后后,再去去掉注释释标记。四、各功功能窗口口的设计计1系统统主窗口口的设计计本实例创创建的是是多文档档界面(MDII)应用用,因此此需要创创建一个个主窗口口作为应应用程序序的主界界面。该该窗口的的类型为为mdiihellp,窗窗口标题题为“项目信信息管理理系统”。窗口口以w_maiin为名名字存盘盘。编写窗口口的clloseequeery事事件脚本本:longg lll_re

26、eturrnll_rretuurn = mmesssageeboxx(提提示信息息,确认退退出系统统吗?,Quuesttionn!,YYesNNo!,1)if lll_rretuurn = 22 thhen retturnn 1 /不不关闭窗窗口elseeretturnn 0 /关关闭窗口口end if这段程序序的作用用是,当当用户关关闭系统统主窗口口时,系系统会提提示用户户是否确确认退出出,以避避免用户户的误操操作导致致系统终终止运行行,如下下图所示示。2用户户登录窗窗口用户登录录窗口是是应用程程序的入入口,用用来对用用户的身身份进行行验证。 新建建一个窗窗口,窗窗口类型型为Reespoon

27、see,窗口口标题为为“用户登登录”。 在新新窗口中中添加以以下控件件:一个个图片控控件;两两个静态态文本控控件,其其Texxt属性性分别是是“用户名名”和“用户密密码”;两个个单行编编辑框控控件,分分别命名名为slle_nnamee和slle_ppw;两两个按钮钮用户对对象uoo_okk和uoo_cllosee,分别别命名为为cb_ok和和cb_cloose。窗口的的整体布布局如下下图所示示: 定义义全局变变量:Striing gs_useeridd,gss_pwwd /用户IID,用用户密码码Boolleann gbb_maanagger /管理者者 建立立实例变变量:Inteegerr

28、iii_tiime=1 /登登录次数数 为ssle_namme的MModiifieed事件件编写如如下脚本本:sle_pw.SettFoccus() 为ssle_pw的的Moddifiied事事件编写写如下脚脚本:IF KKeyDDownn(KeeyEnnterr!) THEENif thiis.ttextt = theen retturnnelsseSeetFoocuss(cbb_okk)cbb_okk.trrigggereevennt(cclicckedd!)endd iffend if 为ccb_ook的CClicckedd事件编编写如下下脚本:Striing ls_namme,lls_

29、ppw,lls_ttypeels_nnamee=slle_nnamee.Teextls_ppw=ssle_pw.TexxtIF lls_nnamee THHEN/取取出用户户密码和和用户类类别SELLECTT paasswwd,uuserr_tyypeINNTO :gss_pwwd,:ls_typpeFRROM useersWHHEREE usser_id=:lss_naame;IF f_eencrryptt(lss_pww) ggs_ppwd THEENIFF iii_tiime=3 TTHENNMMesssageeBoxx(登登录错误误,对不起起,你无无权使用用本系统统!,Excclamm

30、atiion!)HHALTT CLLOSEEELLSEiii_ttimee+MMesssageeBoxx(登登录错误误,请输入入正确的的用户名名或密码码,EExcllamaatioon!)ENND IIFslle_nnamee.SeetFoocuss()ELSSEIFF lss_tyype=0 THHEN /管理用用户ggb_mmanaagerr=TRRUEENND IIFgss_usseriid=lls_nnameeOPPEN(w_mmainn)Cllosee(Paarennt)ENDD IFFEND IF上面的语语句主要要用来实实现密码码的验证证功能,如果密密码正确确,则允允许进入入系统,

31、同时把把用户名名保存到到全局变变量中;如果密密码错误误,则提提示重新新输入,当三次次输入错错误的密密码后,系统强强行关闭闭。在这段程程序中使使用了SSQL嵌嵌入语句句“SELLECTT ”, 保存存窗口,窗口名名字为ww_looginn。关于用户户登录窗窗口的改改进如下图所所示,将将用户名名文本框框改为下下拉列表表框,用用户可从从下拉列列表框中中选择用用户名而而不需要要自己输输入用户户名。上述操作作员登录录窗口的的控件列列表如下下:控件类型型控件名说明窗口W_looginn响应类型型窗口下拉列表表框Ddlbb_1用于显示示操作员员列表供供选择单行编辑辑框Sle_1供用户输输入口令令按钮Cb_1

32、1用于输入入完毕后后的确认认按钮Cb_22用于取消消输入,推出登登录图片P_1用于显示示窗口左左面的图图片在登录窗窗口的OOpenn事件中中,取得得操作员员的用户户名供登登录者选选择,并并置入默默认的操操作员。脚本如如下:Striing ls_opiid /声明操操作员姓姓名变量量Striinglls_llasttid /声声明上次次登录操操作员姓姓名变量量/1、获取操操作员信信息SetPPoinnterr(HoourGGlasss!) /把把鼠标指指针改为为漏斗状状DECLLAREE myy_cuursoor DDYNAAMICC CUURSOOR FFOR SQLLSA ; /定义动动态游

33、标标PREPPAREE SQQLSAA FRROM SEELECCT nnamee FRROM opeerattorss ORRDERR BYY naame ;OPENN DYYNAMMIC my_currsorr ; /打开动动态游标标FETCCH mmy_ccurssor INTTO :ls_opiid ; /从数据据库中取取数据Do WWhille ssqlcca.ssqlccodee = 0 /如果取取到数据据ddllb_11.AdddIttem(ls_opiid) /把取得得的操作作员名添添加到下下拉列表表框FETTCH my_currsorr INNTO :lss_oppid ;/

34、取下一一数据Loopp /循环CLOSSE mmy_ccurssor ; /关闭动动态游标标/2、设置初初始操作作员IF dddlbb_1.TottalIItemms() 0 TTHENN /如如果操作作员列表表存在列列表项ls_lasstidd = ProofilleSttrinng(exaamplle.iini,操操作员信信息,上次次登录操操作员姓姓名,) /从从INII文件中中取得上上次登录录的操作作员IF ls_lasstidd = THEEN /如如果未取取到dddlb_1.SSeleectIItemm(1) /选选择下拉拉列表框框的第一一个列表表项ELSSE /如如果取得得上次登登

35、录的操操作员dddlb_1.SSeleectIItemm(lss_laastiid, 0)/选择择下拉列列表框中中的该操操作员姓姓名ENDD IFFEND IF上述脚本本中用到到了游标标技术。其作用用是将SSQL语语句得到到的多个个操作员员姓名逐逐个添加加到下拉拉列表框框之中。“确定”按钮的的Cliickeed事件件对用户户选择的的操作员员和输入入的口令令进行校校验,以以判断是是否为合合法登录录。如果果通过校校验,把把操作员员姓名赋赋值给字字符串全全局变量量gs_opeerattor(该变量量是应用用对象的的全局变变量)。在应应用对象象的Oppen事事件中根根据全局局变量ggs_ooperra

36、toor来判判断是否否需要继继续执行行。Cllickked的的事件脚脚本如下下:Striingls_opiid /声声明用户户名变量量Striinglls_ppasss /声明明操作员员口令变变量ls_oopidd = ddllb_11.Teext /取得用用户选择择下拉列列表框中中的用户户名IF lls_oopidd = THEEN /如果未未取到用用户名MesssaggeBoox(登录提提示, 请请选择正正确的操操作员!)Retturnn /返回END IFSELEECT passs IINTOO :lls_ppasss FRROM opeerattorss WHHEREE naame =

37、 :ls_opiid ;IF lls_ppasss slle_11.Teext THEENMesssaggeBoox(系统提提示, 口口令错误误!)RetturnnEND IFSetPProffileeStrringg(eexammplee.inni,操作作员信息息,上次登登录操作作员姓名名,dddlbb_1.Texxt) /把操操作员姓姓名置入入INII文件gs_ooperratoor = lss_oppid /把把操作员员姓名赋赋值给字字符串全全局变量量Closse(PPareent)“取消”按钮的的Cliickeed事件件:gs_ooperratoor = /把把空字串串赋值给给全局变变

38、量Closse(PPareent) /关闭操操作员登登录窗口口上述登录录校验代代码没有确定定登陆的的次数,应进行行修改完完善。此此外还可可以对登登录口令令采用加加密算法法进行加加密,在在数据库库的操作作员管理理表中使使用加密密的口令令,避免免口令的的泄密。在登录录是在将将数据库库操作员员管理表表中的口口令解密密,与登登录者输输入的口口令核对对。3部门门数据录录入与维维护窗口口该窗口用用来两种种部门代代码数据据进行录录入、删删除和编编辑。 继承承w_bbaseesheeet建建立一个个新窗口口。 往窗窗口添加加5个按按钮用户户对象,分别为为:uoo_neew、uuo_ddeleete、uo_re

39、ffressh、uuo_ssavee和uoo_cllosee,分别别命名为为cb_neww、cbb_deelette、ccb_rrefrreshh、cbb_saave和和cb_cloose。一个uuo_ddw_ggridd用户对对象,命命名为ddw_ddepaartmmentt,其DDataaobjjectt属性为为d_ddepaartmmentt。窗口布局局如下图图所示: 创建建与dww_deeparrtmeent关关联的数数据窗口口对象dd_deeparrtmeent。该数据据窗口的的表现风风格为GGridd,数据据源为ddepaartmmentt表的所所有列。数据窗窗口的布布局如下下图所

40、示示: 定义义窗口的的实例变变量:inteegerr iii_idd 编写写窗口的的Opeen事件件的脚本本:dw_ddepaartmmentt.SeetTrranssObjjectt(SQQLCAA)dw_ddepaartmmentt.Reetriievee() 编写写cb_neww的Cllickked事事件的脚脚本:Striing ls_maxxidLongg lll_roowcoountt,lll_roowll_rrowccounnt=ddw_ddepaartmmentt.RoowCoountt()IF lll_rrowccounnt00 THHENls_mmaxiid=ddw_ddep

41、aartmmentt.GeetIttemSStriing(ll_rowwcouunt,deept_id)ii_id=Inttegeer(lls_mmaxiid)+1ELSEEii_id=1END IFll_rrow=dw_depparttmennt.IInseertRRow(0)dw_ddepaartmmentt.SccrolllTooRoww(lll_roow)dw_ddepaartmmentt.SeetIttem(ll_roww,ddeptt_idd,SStriing(ii_id,000)dw_ddepaartmmentt.SeetFoocuss()上述语句句首先取取得数据据窗口的的最大部

42、部门IDD,把它它加1后后赋值给给新增记记录的ddeptt_idd字段。 编写写cb_delletee的Cllickked事事件的脚脚本:dw_ddepaartmmentt.Evventt uee_deelette() 编写写cb_reffressh的CClicckedd事件的的脚本:dw_ddepaartmmentt.Evventt uee_reefreesh() 编写写cb_savve的dw_ddepaartmmentt.Evventt uee_saave() 保存存窗口,窗口的的名字为为w_ddepaartmmentt。4数据据备份窗窗口为了放置置数据丢丢失和破破坏,必必须对系系统数据据

43、进行定定期备份份。数据据备份窗窗口用来来实现数数据备份份功能。 新建建一个RRespponsse类型型的窗口口,窗口口的标题题为“数据备备份”。 往窗窗口添加加一个静静态文本本控件,其Teext为为“备份路路径”,在它它后面添添加一个个单行编编辑框控控件,命命名为ssle_patth。在在slee_paath的的后面添添加一个个图像按按钮,命命名为ppb_bbrowwse,该图像像按钮的的Piccturre NNamee为PoowerrBuiildeer提供供的Cuustoom0550。用用一个成成组框把把上面三三个控件件框起来来。再添添加两个个用户对对象:uuo_ook和uuo_ccloss

44、e,分分别命名名为cbb_okk和cbb_cllosee。窗口口布局如如下图所所示: 为了了保存备备份路径径,以便便下次打打开窗口口时作为为默认路路径显示示,因此此需要创创建一个个配置文文件(IINI文文件)。方法如如下:启启动Wiindoows记记事本,在编辑辑区输入入如下的的语句:BackkupPathh然后以pprojjectt.inni为文文件名存存盘,存存盘时“保存类类型”记住选选择“所有类类型文件件(*.*)”,而不不要将它它存为.txtt文件。 编写写窗口OOpenn事件的的脚本:Striing ls_patthls_ppathh=PrrofiileSStriing(prroje

45、ect.inii,bacckupp,patth,)sle_patth.TTextt=lss_paath上述语句句从配置置文件中中取出备备份路径径,并在在slee_paath中中显示出出来。 编写写cb_ok的的Cliickeed事件件脚本:Striing ls_patth,lls_rrunBoolleann lbb_feexisstls_ppathh = slee_paath.texxtIF ttrimm(lss_paath)= ORR Issnulll(lls_ppathh) TTHENNMesssaggeBoox(提示,请请输入或或选择备备份目录录)slee_paath.SettFoccu

46、s()RetturnnELSEEIF FilleExxistts(lls_ppathh)=FFALSSE TTHENNIFF MeessaageBBox(提示示,lls_ppathh+不不存在,是否创创建该目目录?,Quuesttionn!,YYesNNo!,1)=1 TTHENNIInteegerr lii_fiilennumIIF CCreaateDDireectoory ( lls_ppathh )1 THEENMesssaggeBoox(提示,无无法创建建目录)Cloose(Parrentt)RetturnnEEND IFELLSEssle_patth.SSetFFocuus()ENN

47、D IIFENDD IFFEND IFSetPProffileeStrringg(pprojjectt.inni,baackuup,paath,lss_paath)ls_rrun = dbbbackkup -c uuid=dbaa;pwwd=ssql + -yy +lls_ppathh+Closse(PPareent) 编写写pb_broowsee图像的的Cliickeed事件件脚本:Striing ls_patth = cc:pprojjecttdaataInteegerr lii_reesulltli_rresuult = GGetFFoldder( 选选择备份份文件夹夹, ls_patt

48、h )IF lli_rresuult=1 TTHENNslee_paath.texxt=lls_ppathh END IF上述语句句判断输输入的备备份路径径,如果果该目录录不存在在,则提提示创建建文件夹夹,然后后把数据据备份到到文件夹夹中。否否则直接接把数据据备份到到文件夹夹中。注意,这这段程序序中调用用的备份份命令ddbbaackuup.eexe是是专门针针对Addapttivee Seerveer AAnywwherre7.0数据据库开发发的。对对其它数数据库就就不能使使用这个个命令。 保存存窗口,窗口的的名字为为w_bbackkup。5更改改密码窗窗口设计计该窗口允允许用户户更改本本人登

49、录录系统的的密码。 新建建一个RRespponsse类型型的窗口口,窗口口的标题题为“密码更更改”。 往窗窗口添加加三个静静态文本本控件,他们的的Texxt属性性分别为为:“原密码码”、“新密码码”、“再次输输入新密密码”。在静静态文本本控件的的后面添添加三个个单行编编辑框控控件,分分别命名名为:ssle_olddpw、slee_neewpww、slle_nnewppwagg,用一一个成组组框把上上述控件件框住。添加两两个用户户对象uuo_ook和uuo_cclosse,分分别命名名为cbb_okk和cbb_cllosee。窗口口的布局局如下图图所示: 编写写slee_olldpww的Mood

50、iffiedd事件的的脚本:sle_newwpw.SettFoccus() 编写写slee_neewpww的Moodiffiedd事件的的脚本:sle_newwpwaag.SSetFFocuus() 编写写slee_neewpwwag的的Moddifiied事事件的脚脚本:IF tthiss.Teextslle_nnewppw.TTextt THHENMesssaggeBoox(错误,前前后密码码不一致致,请重重输)thiis.SSetFFocuus()ELSEEcb_ok.SettFoccus()END IF 编写写cb_ok的的Cliickeed事件件的脚本本:Striing ls_cpw

51、wdIF ff_enncryypt(slee_olldpww.Teext)ggs_ppwd THEENMesssaggeBoox(错误,原原密码错错误,请请重输)slee_olldpww.SeetFoocuss()ELSEEIF slee_neewpww.Teextslle_nnewppwagg.Teext THEENMeessaageBBox(错误误,前后新新密码不不一致,请重输输)slle_nnewppw.SSetFFocuus()ELSSElss_cppwd=f_eencrryptt(slle_nnewppw.TTextt)UPPDATTE uuserrsSSET passswdd =

52、:lss_cppwdWWHERRE uuserr_idd = :gss_usseriidUUSINNG SSQLCCA;IFF SQQLCAA.SQQLNRRowss 0 TTHENNCCOMMMIT USIING SQLLCA;MMesssageeBoxx(提提示,密码码已成功功更改)ggs_ppwd=ls_cpwwdELLSERROLLLBACCK UUSINNG SSQLCCA;MMesssageeBoxx(错错误,无法法更改密密码)ENND IIFCLLOSEE(Paarennt)ENDD IFFEND IF 保存存窗口,窗口的的名字为为w_cchpwwd。案例二:微机租赁赁管理系系统

53、某电脑公公司的一一项业务务是微机机出租经经营。过过去采用用手工管管理的方方式,管管理比较较混乱,每到月月末计算算租金收收入以及及统计微微机库存存情况,都要临临时计算算,不仅仅很不正正规,而而且也容容易出错错。为此此,拟研研究开发发一个微微机出租租管理系系统,用用计算机机进行微微机出租租管理。考虑这这是一个个比较小小的系统统,因此此这里只只进行简简单的系系统分析析与设计计。一、系统统分析与与设计 可行行性分析析建立微机机出租管管理系统统从技术术上看是是可行的的。微机机出租业业务比较较简单,所谓管管理只需需要建立立相应的的数据库库,进行行简单的的统计计计算就可可以完成成。而电电脑公司司的人员员具备

54、了了开发这这样系统统的能力力。建立微机机出租管管理系统统从经济济上看也也是可行行的。电电脑公司司本身就就有微机机,不需需要另行行购置;系统开开发没有有费用;系统运运行也不不增加新新的费用用。系统统运行虽虽然不会会带来直直接的经经济效益益,但管管理水平平的提高高也会带带来间接接的效益益。建立微机机出租管管理系统统从应用用方面考考虑也是是可行的的。系统统不是很很复杂,管理人人员很快快就能熟熟悉;公公司本身身又有改改善管理理的愿望望,系统统运行后后会提高高企业的的管理水水平,因因此也不不会有大大的阻力力。 系统统的环境境要求与与基本结结构考虑电脑脑公司规规模较小小,因此此拟开发发的微机机出租管管理系

55、统统采用单单机系统统。系统统环境为为:操作作系统为为Winndowws 998/WWinddowss 20000;微机采采用现有有微机,基本配配置为CCPU赛赛杨6333,内内存1228M,硬盘220G。数据库库采用AAdapptivve SServver Anyywheere 5.00;程序序设计语语言采用用Powwer Buiildeer6.5。 系统统设计总体功能能结构设设计客户客户表租赁表库存表客户登记办理租赁办理续租办理退租打印合同续租数据客户数据微机登记租赁数据系统业业务流程程图:退租数据功能结结构图:通过上述述数据流流图可以以看出,该系统统主要有有三项功功能,即即微机出出租、续续

56、租和退退租。同同时还应应包括客客户登记记和微机机入库登登记的功功能、打打印租赁赁合同的的功能、统计查查询的功功能。具具体功能能结构示示意图如如下:微机租赁管理系统统计查询微机租赁系统维护客户维护微机维护微机出租微机退租微机续租微机查询客户查询租金统计备份恢复2数据据库设计计实体联联系图出租日期客户微机租赁编号姓名单位编号名称月租金归还日期租金mn关系模模型:客户关系系EMPPLOYYEE(EMPP_NAAME,EMPP_IDD,EMMP_WWORKKER,)微机关系系COMM_STTOREE(COOM_TTYPEE,COOM_IID,CCOM_NAMME, ,CCOM_STAATE,COMM_

57、DAATE)租赁关系系COMM_OUUTPUUT(EEMP_NAMME,COMM_IDD,COMM_OUUTDAATE,COMM_INNTDAATE, )用户关系系USEER(UUSERR_IDD,USSER_NAMME,UUSERR_PAASS,USEER_LLEVEEL)数据库库的数据据结构 CCOM_STOORE(微机)表列名列标识数据类型型宽度小数空值主键型号com_typpecharr20Y微机编号号com_idcharr40NY名称com_nammevarccharr100NCPUcom_cpuuvarccharr100N内存com_rommvarccharr100N硬盘com_h

58、arrdvarccharr100N显卡com_carrvarccharr100N光驱com_cdrromvarccharr100N显示器com_disspvarccharr100N网卡com_webbcharr20N音箱com_boxxcharr20N配件com_othhervarccharr200Y月租金com_monneynumeericc40Y状况com_staatusscharr40N最近租期期com_dattedatee40YEMPLLOYEEE(客客户)表表列名列标识数据类型型宽度小数空值主键客户姓名名emp_nammecharr60NY身份证号号emp_idcharr180Y单位

59、emp_worrkerrvarccharr200Y住址emp_zhuuzhiivarccharr200Y电话emp_tellphcharr110Y说明emp_othhervarccharr300YCOM_OUTTPUTT(租赁赁)表列名列标识数据类型型宽度小数空值主键微机编号号com_idcharr40NY客户姓名名emp_nammecharr60NY出租日期期com_outtdattedatee40NY租期com_monnthinteegerr40Y归还日期期com_inttdattedatee40Y交纳租金金com_summmonneynumeericc50Y租赁证件件com_worrkc

60、aardvarccharr100Y说明com_nottevarccharr400Y是否归还还com_yessnocharr40YUSERR(用户户)表列名列标识数据类型型宽度小数空值主键编号userr_iddcharr40NY姓名userr_naamevarccharr80NN密码userr_paassvarccharr80NN权限userr_leevellcharr10NN系统输入入输出设设计输入数数据:微机库存存数据;客户数数据;租租赁数据据;续租租数据;退租数数据。输出数数据:租赁合同同;租金金收入统统计表;客户数数据表;库存微微机数据据表;租租赁统计计表。系统部部分窗体体界面(输入输输

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论