




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PAGE PAGE 140计算机与信息工程学院规范化课程大型数据库库案 例丽水学院计计算机与与信息工工程学院院周建东2007年年11月月目 录案例一:项项目管理理信息系系统.11案例二:微微机租赁赁管理系系统.188案例三:丽丽水学院院刷卡考考勤系统统.499案例一:项项目管理理信息系统统本例是一个个简化的的“项目管管理信息息系统”,以项项目信息息(项目目编码、项项目名称称、开发发经费、应应用情况况和参加加人员)以以及项目目开发人人员自身身的信息息(编码码、姓名名、性别别、出生生年月、职职称、部部门)为为主线,以以部门表表等为辅辅表,实实现了项项目和人人员信息息的录入入、查询询和管理理等功能能
2、,展示示了用PPoweerBuuildder开开发系统统的方法法和技巧巧。本系统的主主要功能能包括以以下几部部分:项目管理信息系统项目管理信息系统系统管理统计报表数据处理部门维护人员维护人数统计项目统计更改密码数据备份用户管理项目维护一、创建应应用PowerrBuiildeer8.0的应应用程序序是以工工作区文文件、目目标文件件、库文文件的形形式保存存的,因因此创建建这些文文件是编编写应用用程序的的第一步步。1创建应应用的步步骤如下下: 在Wiindoows资资源管理理器中为为应用新新建一个个目录,如如D:Proojecct。此此目录用用于保存存本系统统的工作作区文件件、目标标文件、应应用库文
3、文件和数数据库文文件。 启动PPoweerBuuildder88.0,单单击Poowerr工具栏栏的新建建按钮,打打开。 在Neew对话话框中选选择图标标,打开开Neww对话框框。 选择保保存Woorksspacce的目目录(DD:PProjjectt),并并在文件件名文本本框中输输入Prrojeect,然然后单击击“保存”按钮,回回到PoowerrBuiildeer主界界面。 单击PPoweer工具具栏中的新建建按钮,打打开Neew对话话框,选选择Taargeet标签签页,并并双击AAppllicaatioon图标标,打开开Speeciffy NNew Apppliccatiion andd
4、 Liibraary对对话框。在在该对话话框中要要指定应应用对象象名及所所用库、目目标,输输入应用用对象名名后,按按Tabb键,会会以默认认方式自自动为应应用对象象指定LLibrraryy和Taargeet,如如下图所所示: 单击FFiniish按按钮就建建立了一一个空白白的应用用对象pprojjectt,可以以在PoowerrBuiildeer的SSysttem Treee中看看到。2应用的的Opeen事件件脚本:SQLCAA.DBBMS = ODBBCSQLCAA.AuutoCCommmit = FFalsseSQLCAA.DBBParrm = CConnnecttstrringg=DDS
5、N=ProojecctCONNEECT USIING SQLLCA;IF SQQLCAA.SQQLCoode0 THEENBeepp(1)MesssageeBoxx(连连接错误误,SSQLCCA.SSQLeerrTTextt)Haltt ClloseeELSE/thhis.TooolbaarTeext = TTrueethiss.TooolBBarFFrammeTiitlee = 框框架窗口口工具条条thiss.TooolBBarSSheeetTiitlee = 当当前窗口口工具条条thiss.TooolBBarPPopMMenuuTexxt = 左左边,上上边,右右边,下下边,浮浮动,显显示
6、文字字,图标标提示OPENN(w_loggin)END IIF上述脚本的的作用主主要是建建立与数数据库的的连接,然然后打开开登录窗窗口。二、创建数数据库1数据库库设计本系统采用用了PoowerrBuiildeer8.0自带带的一个个小型关关系数据据库Addapttivee Seerveer AAnywwherre7.0。在PoweerBuuildder88.0集集成环境境下创建建数据库库的步骤骤如下: 单击PPoweer工具具栏的DDB PProffilee按钮,打打开Daatabbasee Prrofiiless对话框框。 在Daatabbasee Prrofiiless对话框框中展开开OD
7、BB ODDBC列列表项,在在展开其其下面的的Utiilittiess列表项项。双击击Creeatee ASSA DDataabasse项,系系统打开开Creeatee ASSA DDataabasse对话话框。 在Crreatte AASA Dattabaase对对话框中中输入DDataabasse NNamee(如DD:PProjjecttPrrojeect.db),其余余均用默默认值。单单击OKK按钮,系系统开始始创建数数据库。PowerrBuiildeer在创创建数据据库后,自自动创建建了ODDBC数数据源PProjjectt和描述述文件PProjjectt,并自自动连接接上数据据库。
8、如如果用SSybaase Cenntraal创建建ASAA数据库库,还需需要手工工创建OODBCC数据源源和描述述文件。2创建数数据表本数据库包包含5个个数据表表: 部门信信息表(ddepaartmmentt)列名列标识数据类型宽度小数空值主键部门编码dept_idchar20NY部门名称dept_nammechar200NN 人员信信息表(pperssonnnel)列名列标识数据类型宽度小数空值主键编码p_idchar40NY姓名namechar100NN性别sexchar10YN 项目信信息表(pprojjectt)列名列标识数据类型宽度小数空值主键项目编码pro_iidchar40NY项
9、目名称pro_nnameechar400NNoutlaaydoublle80YN 项目参参与人员员表(mmembber)列名列标识数据类型宽度小数空值主键项目编码pro_iidchar40NY编码p_idchar40NY 系统用用户信息息表(uuserrs)列名列标识数据类型宽度小数空值主键用户编码user_idchar100NY用户姓名user_nammechar100NN密码passwwdchar60YN创建表的外外键和索索引以创建表pperssonnnel的的外键为为例,介介绍创建建外键的的步骤。 在数据据库画板板的Obbjecct视图图中,找找到并双双击打开开perrsonnnell表
10、,右右击Fooreiign Keyys,打打开弹出出式菜单单。 在弹出出式菜单单中选择择Neww Fooreiign Keyy菜单项项,进入入Forreiggn KKey视视图。在在Gerreraal标签签页中设设置外键键名称和和本表外外键对应应字段;在Prrimaary Keyy标签页页中设置置外键的的对应表表;在RRulees标签签页中设设置外键键连接规规则。其其创建的的外键为为:fk_deept_id,外外键字段段为p_id,对对应deeparrtmeent表表的主键键deppt_iid 设置完完成后,单单击工具具栏上的的Savve按钮钮,保存存所创建建的外键键。表membber的的两个
11、外外键,分分别为:fk_meembeer_pproiid:外外键字段段为prro_iid,对对应prrojeect表表的主键键proo_iddfk_meembeer_ppid:外键字字段为pp_idd,对应应表perrsonnnell的主键键p_iid3创建编编辑风格格在数据库画画板中创创建编辑辑风格,并并设定表表中某列列的编辑辑风格,这这样在日日后生成成数据窗窗口时,该列将使用在数据画板中定义的编辑风格,从而可以节省设计的时间和工作量。本实例需要要创建三三个编辑辑风格,分分别命名名为ess_deeparrtmeent、ees_pprojjectt和ess_peersoonneel,分分别用来
12、来显示部部门数据据、项目目数据和和开发人人员数据据。这三三个编辑辑风格均均使用下下拉数据据窗口样样式,因因此,在在创建编编辑风格格之前,首首先应创创建三个个数据窗窗口对象象。创建ddddw_ddepaartmmentt数据窗窗口对象象该数据窗口口的表现现风格为为Tabbulaar,数数据源为为depparttmennt表的的所有列列。在数数据窗口口画板下下,把ddeptt_idd设为不不可见。该该数据窗窗口的布布局如图图所示。下面以创建建es_depparttmennt编辑辑风格为为例,介绍具体体操作步步骤为: 在数据据库画板板下,打打开扩展展属性(EExteendeed AAttrribuu
13、tess)视图图,右击击Ediit SStylles项目,显显示弹出出式菜单单。 在弹出出式菜单单中选择择Neww菜单项项,打开开Ediit SStylle对话话框。 按照下下图所示示,输入入各有关关参数。 输入完完毕,单单击OKK按钮,返返回数据据库画板板。三、创建用用户对象象、全局局函数和和祖先窗窗口为了减轻应应用程序序设计的的工作量量,以及及使应用用程序更更容易维维护,在在进行系系统开发发时往往往需要创创建一些些用户对对象。本本实例需需要创建建多个命命令按钮钮用户对对象和两两个数据据窗口用用户对象象,还需需要创建建一个用用来对用用户口令令加密的的全局函函数,创创建一个个作为所所有表单单(
14、Shheett)祖先先的窗口口。1创建命命令按钮钮用户对对象为应用中常常用的命命令按钮钮创建用用户对象象,然后后根据需需要把这这些按钮钮用户对对象添加加到窗口口中,可可以使应应用界面面保持一一致,也也便于日日后维护护。本实实例需要要创建88个按钮钮用户对对象。这这8个按按钮用户户对象的的名称、属属性和功功能如下下表所示示。名称Text属属性值功能uo_okk确定(&YY)确认当前操操作uo_cllossse关闭(&CC)关闭当前窗窗口uo_deelette删除(&DD)删除当前记记录uo_eddit编辑(&EE)编辑当前记记录uo_fiind查找(&FF)打开查询窗窗口uo_neew新增(&N
15、N)新增一条记记录uo_reefreesh刷新(&RR)刷新当前数数据窗口口uo_saave保存(&SS)保存数据下面以关关闭按按钮用户户对象为为例,介介绍建立立按钮用用户对象象的步骤骤。 单击PPoweer工具具栏上的的Neww按钮,在在打开的的Neww对话框框中选择择PB Objjectt标签页页,然后后选择SStanndarrd VVisuual图图标,在在单击OOK按钮钮,打开开Sellectt Sttanttardd Viisuaal TTypee对话框框。 在对话话框中选选择Coommaandbbuttton列列表项,然然后单击击OK按按钮,打打开用户户对象画画板。 在属性性视图中
16、中设置有有关属性性,如下下图所示示: 在脚本本视图中中编写该该按钮cclicckedd事件的的脚本。“关闭”按钮的clicked事件脚本为:Close(Parent) 单击画画板工具具栏的SSavee按钮,保保存用户户对象,名名字为uuo_cclosse。按照上述办办法建立立其它按按钮用户户对象。(除除uo_cloose外外,其它它按钮不不选中CCanccel属属性,而而且不用用编写事事件脚本本)。 2创建数数据窗口口用户对对象本实例需要要建立两两个数据据窗口用用户对象象。 建立uuo_ddw_ffreeeforrm数据据窗口用用户对象象单击Powwer工工具栏上上的Neew按钮钮,在打打开的
17、NNew对对话框中中选择PPB OObjeect标标签页,然然后选择择Staandaard Vissuall图标,再再单击OOK按钮钮,打开开Sellectt Sttanddardd Viisuaal TTypee对话框框,选择择dattawiindoow列表表项,然然后单击击OK按按钮,打打开用户户对象画画板。 定义外外部全局局变量。语语句如下下:Strinng ggs_uuserrid,gs_pwdd /用用户IDD,用户户密码Booleean gb_mannageer /管管理者 建立用用户自定定义事件件。首先定义AAPI函函数subrooutiine keyybd_eveent(uin
18、nt bbVk,uinnt bbScaan,llongg dwwFlaags,lonng ddwExxtraaInffo ) liibraary usser332.ddllShiftt_err自定义义事件:事件IID为ppbm_dwnnkeyy。事件件脚本如如下:/回车键键及下箭箭头键下下移焦点点If keey = KeeyEnnterr! OOr KKey = KKeyDDownnArrrow! Thhenkeybbd_eevennt ( 9, 0, 0, 0 ) / 按按下taab keybbd_eevennt ( 9, 0, 2, 0 ) / 释释放taab Retuurn 0End I
19、If /上箭头头键上移移焦点If Keey = KeeyUppArrrow! Thhen keybbd_eevennt ( 166, 00, 00, 00 ) / 按下sshifft keybbd_eevennt ( 9, 0, 0 , 00 ) / 按下ttab keybbd_eevennt ( 9, 0, 2, 0 ) / 释释放taab keybbd_eevennt ( 166, 00, 22, 00 ) / 释放sshifft Retuurn 1 End IIf 该事件用来来实现在在数据窗窗口中用用回车键键及上下下箭头移移动输入入焦点。注:用回车车键代替替Tabb键也可可以用发发送消息
20、息的方式式来实现现: SSendd(Haandlle(tthiss),2256,9,LLongg(0,0)Returrn 11ue_deelette自定定义事件件:事件件ID为为nonne。事事件脚本本如下:/删除当当前记录录IF GeetRoow()0 THEENIF DDeleeteRRow(0)=1 TTHENNMesssaggeBoox(提示,当当前记录录已被删删除,请请按保保存按按钮提交交)END IFEND IIF该事件用来来删除数数据窗口口的当前前记录。ue_reefreesh自自定义事事件:事事件IDD为noone。事事件脚本本如下:/刷新数数据This.Rettrieeve(
21、)该事件用来来重新检检索数据据窗口的的数据(刷刷新显示示)。ue_saave自自定义事事件:事事件IDD为noone。事事件脚本本如下:/保存数数据IF thhis.Upddatee()0 TTHENNCOMMMIT USIING SQLLCA;MesssageeBoxx(提提示,数据据已存盘盘)ELSEROLLLBACCK UUSINNG SSQLCCA;MesssageeBoxx(提提示,数据据无法存存盘,Excclammatiion!)END IIF该事件用来来更新并并提交数数据窗口口的当前前记录。 编写ddberrrorr事件的的脚本。MessaageBBox(数据据库错误误,错误代代
22、码:+sttrinng(ssqlddbcoode)+&rn+错误误信息:+ssqleerrttextt)Returrn 11 以uoo_dww_frreefformm为名保保存该用用户对象象。建立uo_dw_griidfoorm数数据窗口口用户对对象该用户对象象继承自自uo_dw_freeefoorm,把把shiift_er自自定义事事件的脚脚本更改改为:/按回车车键向后后移焦点点IF keey = KeeyEnnterr! TTHENNkeybbd_eevennt ( 9, 0, 0 , 00 ) / 按下ttab keybbd_eevennt ( 9, 0, 2, 0 ) / 释释放taa
23、bRetuurn 1END IIF数据窗口标标准类,用用回车键键、下箭箭头、上上箭头改改变输入入焦点,适用于于griid风格格3建立全全局函数数f_eencrryptt()该函数用来来实现对对系统用用户口令令的加密密。函数数的定义义信息如如图所示示。函数的脚本本如下:/功能:口令加加密/参数:字符串串/返回值值:字符符串Integger i,lli_kklleenStrinng lls_zzmkllli_klllenn=LEEN(aa_ymmm)FOR ii = 1 TTO lli_kklleen lss_zmmkl = lls_zzmkll+CHHAR(ASCC(Miid(aa_ymmm,i
24、i,1)+ii+lii_klllenn)NEXTRETURRN lls_zzmkll通过加密函函数,保保存在数数据库的的用户密密码就不不是明文文,而是是加密的的密文。4建立表表单(SSheeet)祖祖先窗口口w_bbaseesheeet该窗口的所所有属性性均采用用默认值值。其OOpenn事件的的脚本如如下:this.X=(w_mmainn.WoorkSSpacceWiidthh() - tthiss.Wiidthh)/22this.Y=(w_mmainn.WoorkSSpacceHeeighht() - w_mmainn.mddi_11.MiicrooHellpHeeighht - thhis
25、.Heiightt)/22 - 50上述语句的的作用是是实现表表单窗口口在工作作区的中中间显示示。由于于主窗口口w_mmainn还未创创建,因因此需要要把它们们加上注注释标记记,待创创建主窗窗口后,再再去掉注注释标记记。四、各功能能窗口的的设计1系统主主窗口的的设计本实例创建建的是多多文档界界面(MMDI)应应用,因因此需要要创建一一个主窗窗口作为为应用程程序的主主界面。该该窗口的的类型为为mdiihellp,窗窗口标题题为“项目信信息管理理系统”。窗口口以w_maiin为名名字存盘盘。编写窗口的的clooseqquerry事件件脚本:long ll_retturnnll_reeturrn =
26、 meessaagebbox(提示示信息,确确认退出出系统吗吗?,Queestiion!,YeesNoo!,11)if lll_reeturrn = 2 theen retuurn 1 /不关关闭窗口口elseretuurn 0 /关闭闭窗口end iif这段程序的的作用是是,当用用户关闭闭系统主主窗口时时,系统统会提示示用户是是否确认认退出,以以避免用用户的误误操作导导致系统统终止运运行,如如下图所所示。2用户登登录窗口口用户登录窗窗口是应应用程序序的入口口,用来来对用户户的身份份进行验验证。 新建一一个窗口口,窗口口类型为为Ressponnse,窗窗口标题题为“用户登登录”。 在新窗窗口中
27、添添加以下下控件:一个图图片控件件;两个个静态文文本控件件,其TTextt属性分分别是“用户名名”和“用户密密码”;两个个单行编编辑框控控件,分分别命名名为slle_nnamee和slle_ppw;两两个按钮钮用户对对象uoo_okk和uoo_cllosee,分别别命名为为cb_ok和和cb_cloose。窗窗口的整整体布局局如下图图所示: 定义全全局变量量:Strinng ggs_uuserrid,gs_pwdd /用用户IDD,用户户密码Booleean gb_mannageer /管管理者 建立实实例变量量:Integger ii_timme=11 /登录录次数 为slle_nnamee
28、的Moodiffiedd事件编编写如下下脚本:sle_ppw.SSetFFocuus() 为slle_ppw的MModiifieed事件件编写如如下脚本本:IF KeeyDoown(KeyyEntter!) TTHENNif tthiss.teext = tthenn rretuurnelseeSettFoccus(cb_ok)cb_ok.triiggeerevventt(cllickked!)end ifend iif 为cbb_okk的Cllickked事事件编写写如下脚脚本:Strinng lls_nnamee,lss_pww,lss_tyypels_naame=slee_naame.T
29、exxtls_pww=slle_ppw.TTexttIF lss_naame THEEN/取出出用户密密码和用用户类别别SELEECT passswdd,usser_typpeINTTO :gs_pwdd,:lls_ttypeeFROOM uuserrsWHEERE useer_iid=:ls_namme;IF ff_enncryypt(ls_pw) gss_pwwd TTHENNIF ii_timme=33 THHENMeessaageBBox(登录录错误,对对不起,你你无权使使用本系系统!,Exxclaamattionn!)HAALT CLOOSEELSSEiii_tiime+Meessa
30、ageBBox(登录录错误,请请输入正正确的用用户名或或密码,Exxclaamattionn!)ENDD IFFslee_naame.SettFoccus()ELSEEIF ls_typpe=0 THEEN /管管理用户户gbb_maanagger=TRUUEENDD IFFgs_useeridd=lss_naameOPEEN(ww_maain)Cloose(Parrentt)END IFEND IIF上面的语句句主要用用来实现现密码的的验证功功能,如如果密码码正确,则则允许进进入系统统,同时时把用户户名保存存到全局局变量中中;如果果密码错错误,则则提示重重新输入入,当三三次输入入错误的的密码
31、后后,系统统强行关关闭。在这段程序序中使用用了SQQL嵌入入语句“SELLECTT ”, 保存窗窗口,窗窗口名字字为w_loggin。关于用户登登录窗口口的改进进如下图所示示,将用用户名文文本框改改为下拉拉列表框框,用户户可从下下拉列表表框中选选择用户户名而不不需要自自己输入入用户名名。上述操作员员登录窗窗口的控控件列表表如下:控件类型控件名说明窗口W_loggin响应类型窗窗口下拉列表框框Ddlb_1用于显示操操作员列列表供选选择单行编辑框框Sle_11供用户输入入口令按钮Cb_1用于输入完完毕后的的确认按钮Cb_2用于取消输输入,推推出登录录图片P_1用于显示窗窗口左面面的图片片在登录窗口
32、口的Oppen事事件中,取得得操作员员的用户户名供登登录者选选择,并并置入默默认的操操作员。脚脚本如下下:Strinng lls_oopidd /声声明操作作员姓名名变量Strinng ls_lasstidd /声明上上次登录录操作员员姓名变变量/1、获获取操作作员信息息SetPoointter(HouurGllasss!) /把鼠鼠标指针针改为漏漏斗状DECLAARE my_currsorr DYYNAMMIC CURRSORR FOOR SSQLSSA ; /定定义动态态游标PREPAARE SQLLSA FROOM SELLECTT naame FROOM ooperratoors OR
33、DDER BY namme ;OPEN DYNNAMIIC mmy_ccurssor ; /打打开动态态游标FETCHH myy_cuursoor IINTOO :lls_oopidd ; /从从数据库库中取数数据Do Whhilee sqqlcaa.sqqlcoode = 00 /如如果取到到数据ddlbb_1.AdddIteem(lls_oopidd) /把把取得的的操作员员名添加加到下拉拉列表框框FETCCH mmy_ccurssor INTTO :ls_opiid ;/取取下一数数据Loop /循循环CLOSEE myy_cuursoor ; /关关闭动态态游标/2、设设置初始始操作员
34、员IF dddlb_1.TTotaalIttemss() 00 THHEN /如果果操作员员列表存存在列表表项ls_llasttid = PProffileeStrringg(eexammplee.inni,操作作员信息息,上次登登录操作作员姓名名,) /从IINI文文件中取取得上次次登录的的操作员员IF lls_llasttid = TTHENN /如果果未取到到ddllb_11.SeelecctIttem(1) /选择择下拉列列表框的的第一个个列表项项ELSEE /如果果取得上上次登录录的操作作员ddllb_11.SeelecctIttem(ls_lasstidd, 00)/选择下下拉列表
35、表框中的的该操作作员姓名名END IFEND IIF上述脚本中中用到了了游标技技术。其其作用是是将SQQL语句句得到的的多个操操作员姓姓名逐个个添加到到下拉列列表框之之中。“确定”按按钮的CClicckedd事件对对用户选选择的操操作员和和输入的的口令进进行校验验,以判断是是否为合合法登录录。如果果通过校校验,把把操作员员姓名赋赋值给字字符串全全局变量量gs_opeerattor(该变量量是应用用对象的的全局变变量)。在应应用对象象的Oppen事事件中根根据全局局变量ggs_ooperratoor来判判断是否否需要继继续执行行。Cllickked的的事件脚脚本如下下:Strinngls_opi
36、id /声声明用户户名变量量Strinng ls_passs /声声明操作作员口令令变量ls_oppid = dddlbb_1.Texxt /取取得用户户选择下下拉列表表框中的的用户名名IF lss_oppid = TTHENN /如如果未取取到用户户名MesssageeBoxx(登登录提示示, 请选选择正确确的操作作员!)Retuurn /返返回END IIFSELECCT ppasss INNTO :lss_paass FROOM ooperratoors WHEERE namme = :lls_oopidd ;IF lss_paass slee_1.Texxt TTHENNMesssag
37、eeBoxx(系系统提示示, 口令令错误!)RetuurnEND IIFSetPrrofiileSStriing(exxampple.inii,操作员员信息,上上次登录录操作员员姓名,dddlb_1.TTextt) /把操作作员姓名名置入IINI文文件gs_opperaatorr = ls_opiid /把操操作员姓姓名赋值值给字符符串全局局变量Closee(Paarennt)“取消”按按钮的CClicckedd事件:gs_opperaatorr = /把空空字串赋赋值给全全局变量量Closee(Paarennt) /关闭闭操作员员登录窗窗口上述登录校校验代码码没有确定定登陆的的次数,应应进行
38、修修改完善善。此外外还可以以对登录录口令采采用加密密算法进进行加密密,在数数据库的的操作员员管理表表中使用用加密的的口令,避避免口令令的泄密密。在登登录是在在将数据据库操作作员管理理表中的的口令解解密,与与登录者者输入的的口令核核对。3部门数数据录入入与维护护窗口该窗口用来来两种部部门代码码数据进进行录入入、删除除和编辑辑。 继承ww_baasessheeet建立立一个新新窗口。 往窗口口添加55个按钮钮用户对对象,分分别为:uo_neww、uoo_deelette、uuo_rrefrreshh、uoo_saave和和uo_cloose,分分别命名名为cbb_neew、ccb_ddeleete
39、、ccb_rrefrreshh、cbb_saave和和cb_cloose。一一个uoo_dww_grrid用用户对象象,命名名为dww_deeparrtmeent,其其Dattaobbjecct属性性为d_depparttmennt。窗口布局如如下图所所示: 创建与与dw_depparttmennt关联联的数据据窗口对对象d_depparttmennt。该该数据窗窗口的表表现风格格为Grrid,数数据源为为depparttmennt表的的所有列列。数据据窗口的的布局如如下图所所示: 定义窗窗口的实实例变量量:integger ii_id 编写窗窗口的OOpenn事件的的脚本:dw_deepar
40、rtmeent.SettTraansOObjeect(SQLLCA)dw_deeparrtmeent.Rettrieeve() 编写ccb_nnew的的Cliickeed事件件的脚本本:Strinng lls_mmaxiidLong ll_rowwcouunt,ll_rowwll_roowcoountt=dww_deeparrtmeent.RowwCouunt()IF lll_roowcoountt0 THEENls_mmaxiid=ddw_ddepaartmmentt.GeetIttemSStriing(ll_rowwcouunt,deept_id)ii_iid=IInteegerr(lss
41、_maaxidd)+11ELSEii_iid=11END IIFll_roow=ddw_ddepaartmmentt.InnserrtRoow(00)dw_deeparrtmeent.ScrrolllToRRow(ll_roww)dw_deeparrtmeent.SettIteem(lll_rrow,deept_id,Sttrinng(iii_iid,00)dw_deeparrtmeent.SettFoccus()上述语句首首先取得得数据窗窗口的最最大部门门ID,把把它加11后赋值值给新增增记录的的deppt_iid字段段。 编写ccb_ddeleete的的Cliickeed事件件的脚本本:d
42、w_deeparrtmeent.Eveent ue_delletee() 编写ccb_rrefrreshh的Cllickked事事件的脚脚本:dw_deeparrtmeent.Eveent ue_reffressh() 编写ccb_ssavee的dw_deeparrtmeent.Eveent ue_savve() 保存窗窗口,窗窗口的名名字为ww_deeparrtmeent。4数据备备份窗口口为了放置数数据丢失失和破坏坏,必须须对系统统数据进进行定期期备份。数数据备份份窗口用用来实现现数据备备份功能能。 新建一一个Reespoonsee类型的的窗口,窗窗口的标标题为“数据备备份”。 往窗口口添
43、加一一个静态态文本控控件,其其Texxt为“备份路路径”,在它它后面添添加一个个单行编编辑框控控件,命命名为ssle_patth。在在slee_paath的的后面添添加一个个图像按按钮,命命名为ppb_bbrowwse,该该图像按按钮的PPictturee Naame为为PowwerBBuillderr提供的的Cusstomm0500。用一一个成组组框把上上面三个个控件框框起来。再再添加两两个用户户对象:uo_ok和和uo_cloose,分分别命名名为cbb_okk和cbb_cllosee。窗口口布局如如下图所所示: 为了保保存备份份路径,以以便下次次打开窗窗口时作作为默认认路径显显示,因因此
44、需要要创建一一个配置置文件(IINI文文件)。方方法如下下:启动动Winndowws记事事本,在在编辑区区输入如如下的语语句:BackuupPath然后以prrojeect.inii为文件件名存盘盘,存盘盘时“保存类类型”记住选选择“所有类类型文件件(*.*)”,而不不要将它它存为.txtt文件。 编写窗窗口Oppen事事件的脚脚本:Strinng lls_ppathhls_paath=ProofilleSttrinng(proojecct.iini,bbackkup,ppathh,)sle_ppathh.Teext=ls_patth上述语句从从配置文文件中取取出备份份路径,并并在slle_p
45、pathh中显示示出来。 编写ccb_ook的CClicckedd事件脚脚本:Strinng lls_ppathh,lss_ruunBooleean lb_fexxisttls_paath = ssle_patth.ttexttIF trrim(ls_patth)= OR Isnnulll(lss_paath) THHENMesssageeBoxx(提提示,请输输入或选选择备份份目录)sle_patth.SSetFFocuus()RetuurnELSEIF FFileeExiistss(lss_paath)=FAALSEE THHENIF MesssaggeBoox(提示,lss_paath+
46、不存存在,是是否创建建该目录录?,Queestiion!,YeesNoo!,11)=11 THHENInntegger li_fillenuumIFF CrreatteDiirecctorry ( lss_paath )1 TTHENNMMesssageeBoxx(提提示,无法法创建目目录)CClosse(PPareent)RRetuurnENND IIFELSSEslle_ppathh.SeetFoocuss()ENDD IFFEND IFEND IIFSetPrrofiileSStriing(prrojeect.inii,bacckupp,patth,ls_patth)ls_ruun =
47、ddbbaackuup -c uiid=ddba;pwdd=sqql + -y +lss_paath+Closee(Paarennt) 编写ppb_bbrowwse图图像的CClicckedd事件脚脚本:Strinng lls_ppathh = c:prrojeectdattaIntegger li_ressulttli_reesullt = GeetFooldeer( 选择择备份文文件夹, lls_ppathh )IF lii_reesullt=11 THHENsle_patth.ttextt=lss_paath END IIF上述语句判判断输入入的备份份路径,如如果该目目录不存存在,则则提
48、示创创建文件件夹,然然后把数数据备份份到文件件夹中。否否则直接接把数据据备份到到文件夹夹中。注意,这段段程序中中调用的的备份命命令dbbbacckupp.exxe是专专门针对对Adaaptiive Serrverr Annywhheree7.00数据库库开发的的。对其其它数据据库就不不能使用用这个命命令。 保存窗窗口,窗窗口的名名字为ww_baackuup。5更改密密码窗口口设计该窗口允许许用户更更改本人人登录系系统的密密码。 新建一一个Reespoonsee类型的的窗口,窗窗口的标标题为“密码更更改”。 往窗口口添加三三个静态态文本控控件,他他们的TTextt属性分分别为:“原密码码”、“新
49、密码码”、“再次输输入新密密码”。在静静态文本本控件的的后面添添加三个个单行编编辑框控控件,分分别命名名为:ssle_olddpw、ssle_newwpw、ssle_newwpwaag,用用一个成成组框把把上述控控件框住住。添加加两个用用户对象象uo_ok和和uo_cloose,分分别命名名为cbb_okk和cbb_cllosee。窗口口的布局局如下图图所示: 编写ssle_olddpw的的Moddifiied事事件的脚脚本:sle_nnewppw.SSetFFocuus() 编写ssle_newwpw的的Moddifiied事事件的脚脚本:sle_nnewppwagg.SeetFoocuss
50、() 编写ssle_newwpwaag的MModiifieed事件件的脚本本:IF thhis.Texxtslee_neewpww.Teext THEENMesssageeBoxx(错错误,前后后密码不不一致,请请重输)thiss.SeetFoocuss()ELSEcb_ook.SSetFFocuus()END IIF 编写ccb_ook的CClicckedd事件的的脚本:Strinng lls_ccpwddIF f_enccryppt(ssle_olddpw.Texxt)gss_pwwd TTHENNMesssageeBoxx(错错误,原密密码错误误,请重重输)sle_olddpw.Sett
51、Foccus()ELSEIF ssle_newwpw.Texxtslee_neewpwwag.Texxt TTHENNMesssaggeBoox(错误,前前后新密密码不一一致,请请重输)slee_neewpww.SeetFoocuss()ELSEEls_cpwwd=ff_enncryypt(slee_neewpww.Teext)UPDDATEE usserssSEET ppassswd = :ls_cpwwdWHHEREE usser_id = :gs_useeriddUSSINGG SQQLCAA;IF SQLLCA.SQLLNRoows 00 THHENCOOMMIIT UUSINNG S
52、SQLCCA;MeessaageBBox(提示示,密码已已成功更更改)gss_pwwd=lls_ccpwddELSSEROOLLBBACKK USSINGG SQQLCAA;MeessaageBBox(错误误,无法更更改密码码)ENDD IFFCLOOSE(Parrentt)END IFEND IIF 保存窗窗口,窗窗口的名名字为ww_chhpwdd。案例二:微微机租赁赁管理系系统某电脑公司司的一项项业务是是微机出出租经营营。过去去采用手手工管理理的方式式,管理理比较混混乱,每每到月末末计算租租金收入入以及统统计微机机库存情情况,都都要临时时计算,不不仅很不不正规,而而且也容容易出错错。为此此
53、,拟研研究开发发一个微微机出租租管理系系统,用用计算机机进行微微机出租租管理。考考虑这是是一个比比较小的的系统,因因此这里里只进行行简单的的系统分分析与设设计。一、系统分分析与设设计 可行性性分析建立微机出出租管理理系统从从技术上上看是可可行的。微微机出租租业务比比较简单单,所谓谓管理只只需要建建立相应应的数据据库,进进行简单单的统计计计算就就可以完完成。而而电脑公公司的人人员具备备了开发发这样系系统的能能力。建立微机出出租管理理系统从从经济上上看也是是可行的的。电脑脑公司本本身就有有微机,不不需要另另行购置置;系统统开发没没有费用用;系统统运行也也不增加加新的费费用。系系统运行行虽然不不会带
54、来来直接的的经济效效益,但但管理水水平的提提高也会会带来间间接的效效益。建立微机出出租管理理系统从从应用方方面考虑虑也是可可行的。系系统不是是很复杂杂,管理理人员很很快就能能熟悉;公司本本身又有有改善管管理的愿愿望,系系统运行行后会提提高企业业的管理理水平,因因此也不不会有大大的阻力力。 系统的的环境要要求与基基本结构构考虑电脑公公司规模模较小,因因此拟开开发的微微机出租租管理系系统采用用单机系系统。系系统环境境为:操操作系统统为Wiindoows 98/Winndowws 220000;微机机采用现现有微机机,基本本配置为为CPUU赛杨6633,内内存1228M,硬硬盘200G。数数据库采采
55、用Addapttivee Seerveer AAnywwherre 55.0;程序设设计语言言采用PPoweer BBuillderr6.55。 系统设设计总体功能结结构设计计客户客户表租赁表库存表客户登记办理租赁客户客户表租赁表库存表客户登记办理租赁办理续租办理退租打印合同续租数据客户数据微机登记租赁数据退租数据退租数据 功能结结构图:通过上述数数据流图图可以看看出,该该系统主主要有三三项功能能,即微微机出租租、续租租和退租租。同时时还应包包括客户户登记和和微机入入库登记记的功能能、打印印租赁合合同的功功能、统统计查询询的功能能。具体体功能结结构示意意图如下下:微机租赁管理系统微机租赁管理系
56、统统计查询微机租赁系统维护客户维护微机维护微机出租微机退租微机续租微机查询客户查询租金统计备份恢复2数据库库设计 实体联联系图出租日期出租日期客户微机租赁编号姓名单位编号名称月租金归还日期租金mn 关系模模型:客户关系EEMPLLOYEEE(EEMP_NAMME,EEMP_ID,EMPP_WOORKEER,)微机关系CCOM_STOORE(COMM_TYYPE,COMM_IDD,COOM_NNAMEE, ,COOM_SSTATTE,CCOM_DATTE)租赁关系CCOM_OUTTPUTT(EMMP_NNAMEE,COMM_IDD,COMM_OUUTDAATE,COMM_INNTDAATE, )
57、用户关系UUSERR(USSER_ID,USEER_NNAMEE,USSER_PASSS,UUSERR_LEEVELL) 数据库库的数据据结构 COOM_SSTORRE(微微机)表表列名列标识数据类型宽度小数空值主键型号com_ttypeechar20Y微机编号com_iidchar40NY名称com_nnameevarchhar100NCPUcom_ccpuvarchhar100N内存com_rromvarchhar100N硬盘com_hharddvarchhar100N显卡com_ccarvarchhar100N光驱com_ccdroomvarchhar100N显示器com_ddisppv
58、archhar100N网卡com_wwebchar20N音箱com_bboxchar20N配件com_ootheervarchhar200Y月租金com_mmoneeynumerric40Y状况com_sstattuschar40N最近租期com_ddateedate40YEMPLOOYEEE(客户户)表列名列标识数据类型宽度小数空值主键客户姓名emp_nnameechar60NY身份证号emp_iidchar180Y单位emp_wworkkervarchhar200Y住址emp_zzhuzzhivarchhar200Y电话emp_ttelpphchar110Y说明emp_ootheervar
59、chhar300YCOM_OOUTPPUT(租赁)表列名列标识数据类型宽度小数空值主键微机编号com_iidchar40NY客户姓名emp_nnameechar60NY出租日期com_ooutddateedate40NY租期com_mmontthintegger40Y归还日期com_iintddateedate40Y交纳租金com_ssummmoneeynumerric50Y租赁证件com_wworkkcarrdvarchhar100Y说明com_nnoteevarchhar400Y是否归还com_yyesnnochar40YUSER(用户)表列名列标识数据类型宽度小数空值主键编号user_i
60、dchar40NY姓名user_nammevarchhar80NN密码user_passsvarchhar80NN权限user_levvelchar10NN系统输入输输出设计计 输入数数据:微机库存数数据;客客户数据据;租赁赁数据;续租数数据;退退租数据据。 输出数数据:租赁合同;租金收收入统计计表;客客户数据据表;库库存微机机数据表表;租赁赁统计表表。 系统部部分窗体体界面(输输入输出出)设计计图1 微机机出租窗窗体为便于用户户操作,微微机续租租和退租租窗体界界面与出出租窗体体基本相相同。图2 微机机库存管管理窗体体系统中客户户管理窗窗体与微微机库存存管理窗窗体界面面基本相相同。图3 微机机
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年五星级酒店室内装潢设计合同
- 2025年石油加工厂运营承包合同样本
- 2025年工程人工成本承包合同示范文本
- 自动化测试框架-第1篇-深度研究
- 智能电网与分布式能源管理-第1篇-深度研究
- 2025年简易铝合金雨篷建造合同
- 超光谱原子吸收识别-深度研究
- 2025年冷却系统运营维护合同
- 机床精密加工技术优化-深度研究
- 2025年事业单位设施使用权合同范本
- 大众汽车使用说明书
- (高清版)DZT 0145-2017 土壤地球化学测量规程
- 供热公司安全教育知识
- 高中英语课程纲要
- 《药物设计学》课件
- 随机微分方程
- 道路设施施工现场安全管理基本要求
- 公寓楼改造装修施工方案
- 烟台大学化学化工学院实验室仪器设备搬迁项目
- 安全生产管理组织架构图
- 2022版10kV架空配电线路无人机自主巡检作业导则
评论
0/150
提交评论