毕业论文用PlayCASE建模工具开发教务处学籍管理系统_第1页
毕业论文用PlayCASE建模工具开发教务处学籍管理系统_第2页
毕业论文用PlayCASE建模工具开发教务处学籍管理系统_第3页
毕业论文用PlayCASE建模工具开发教务处学籍管理系统_第4页
毕业论文用PlayCASE建模工具开发教务处学籍管理系统_第5页
已阅读5页,还剩136页未读 继续免费阅读

下载本文档

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

文档简介

1、- Evaluation Warning: The document was created with Spire.Doc for .NET.毕业论文用PlayCASE建模工具开发教务处学籍管理系统目录课题介绍“教务处学学籍管理理系统”是电子子信息职职业技术术学院(宝宝山道院院区)教教务处针针对当前前学籍管管理工作作的需要要开发研研制的一一个应用用型软件件,是列列入我院院院级科科研立项项的项目目之一。它它的使用用对促进进我院教教务管理理特别是是学籍管管理的科科学化、规规范化和和信息的的网络化化将起到到积极的的作用。研制“教务务处学籍籍管理系系统”是为了了寻找一一种较为为规范的的解决方方案旨在在

2、减轻教教务管理理人员繁繁重的工工作负担担,规范范教学计计划、课课程名称称、教师师编号等等的制定定使用,简简化教学学任务检检索、成成绩查询询、考勤勤管理等等工作的的劳动强强度和复复杂程度度,解决决了教务务处学生生信息管管理工作作中的现现代化手手段问题题,进而而进一步步提高我我院教务务处计算算机管理理水平。“教务处学学籍管理理系统”应用范范围从新新生的信信息录入入开始到到毕业离离校,贯贯穿整个个学生在在校期间间的管理理工作。根根据这一一全过程程的工作作特点,可可以全面面地利用用计算机机作为辅辅助管理理手段进进行学生生学籍管管理的工工作,能能有效地地防止目目前全国国大学生生管理系系统“平台式式”的软

3、件件在开发发上的大大众性,更更适合于于我院学学籍管理理要求,强强化了查查询统计计功能同同时友好好的用户户界面将将更方便便于教务务管理人人员的日日常使用用。系统设计分分析开发工具使使用“教务处学学籍管理理系统”,使用用PlaayCAASE建建模工具具作为前前端(上上游)的的系统分分析、设设计模型型。系统统模型通通过划分分,生成成相对独独立的功功能模块块。生成成的功能能模块转转为后端端(下游游)的开开发原型型,使用用PowwerBBuillderr 8.0作为为开发工工具,用用以实现现实际的的功能。目前,国内内大部分分的MIIS系统统开发仍仍旧停留留在原始始的手工工开发模模式上,这这不仅无无法提高

4、高工程质质量,而而且由于于没有统统一的开开发标准准(或未未形成总总体的开开发风格格),不不利于MMIS系系统生存存周期的的延长。传传统的开开发模式式,同时时极大的的限制了了MISS系统软软件在用用户实际际使用过过程中的的完善。(因因为传统统的开发发模式在在开发工工程中只只强调整整个开发发过程的的其中一一部分或或几部分分,不能能贯穿开开发的全全程。在在出现开开发预期期没有考考虑的问问题时,由由于没有有全面的的系统开开发模型型往往对对出现的的问题无无法修补补。)在国外,已已经普遍遍采用系系统模型型开发工工具,并并且已经经基本形形成统一一的标准准。依据据标准的的系统模模型开发发工具已已经有很很多,有

5、有很多软软件开发发工具都都有自己己的前端端(上游游)模型型开发工工具。如如Sybbasee公司为为PowwerBBuillderr定制的的前端(上上游)模模型开发发工具PPoweerDeesiggnerr。在这次毕业业设计中中,我们们使用了了国产的的系统模模型开发发工具PPlayyCASSE。我我们希望望能够找找出一些些使用系系统模型型开发工工具比使使用传统统的开发发模式的的优势。试试着通过过使用PPlayyCASSE并结结合现代代软件工工程的思思想,能能够快速速建立系系统模型型,合理理划分各各个功能能模块。PlayCCASEE创造性性地把业业务调查查、需求求定义、总总体设计计、详细细设计及及

6、程序生生成等软软件开发发过程结结合为一一体,适适合生命命周期法法、原型型法及其其混合形形式,极极大地提提高了软软件系统统开发的的效率和和质量,满满足了个个方面的的需要。PPlayyCASSE的集集成理念念体现在在软件生生命周期期的纵横横两个方方面,通通过三位位一体建建模实现现统一的的形式支支持生命命周期。使用PlayCASE开发应用软件,可以最大限度的减少软件开发完成后出现功能不全的问题,更不会出现闭门造车的情况,造成软件给谁用、有什么用都说不清楚的问题,这种问题在开发软件产品时是十分容易出现的。PlayCASE的最主要的作用是提供了从需求建模向软件建模平滑过渡,并且可以良好的支持后端开发工具

7、的。PlayCASE为程序员提供了功能强大的可视化数据库建模工具和程序设计工具,十分便于数据库系统的概念设计、逻辑设计、物理设计和行为设计。我在小组中中的分工工是,依依据前端端(上游游)分析析划分的的各个主主功能模模块,使使用现代代软件工工程的分分析和细细化方法法,将主主功能模模块再次次划分成成实现功功能独立立的节点点模块,并并通过开开发工具具(PBB 8.0)实实现。开发使用环环境开发平台:Windoows 20000 AAdvaanceed SServver (Seerviice Pacck 33)数据库平台台:Microosofft SSQL Serrverr 20000 企业版版开发工

8、具:PowerrBuiildeer 88.0.1 BBuilld 880044Microosofft DDeveeloppmennt EEnviironnmennt 220033 (VVisuual Stuudioo .NNET 20003)(仅作作为最终终程序发发布使用用)功能模块图图设计分析根据我在小小组内的的分工,我我主要负负责:分分解上游游开发生生成的功功能模块块,将其其细化成成为可以以使用开开发工具具实现的的终端模模块;分分析功能能模块提提出的功功能,划划分逻辑辑,并依依据上游游提供的的数据库库结构模模型设计计出实现现功能的的算法;设计交交互界面面,完成成代码设设计,进进行初步步测试

9、;合并应应用程序序,完成成系统测测试、用用户确认认测试。系统设计实实现设计总量信息输入模模块(窗窗口)制制定教学学计划(w_pplann):制制定各专专业教学学计划。教学任务窗口(w_assignment): 由教学计划自动生成教学大纲的主要内容。教学大纲输入(w_jxoutline): 制定教学大纲。标识编辑窗口(w_edit_f_t_s_j):设计整个系统使用的各种标识。代码编辑窗口(w_edit_d_s_c):制定系、专业、班级、课程、教师情况以及各对应的代码信息。学生基本信息输入(w_student_input):输入在校学生的基本信息、家庭情况和学习情况。学生正考成绩录入(w_stu

10、dent_score):输入学生的考试成绩。学生补考录入(w_student_score_makeup):输入学生的补考成绩。信息修改模模块(窗窗口)教教学计划划修改(w_pplann_eddit):完成成对现有有教学计计划的修修改、补补充。教教学任务务修改(w_aassiignmmentt_eddit):完成成对现有有教学任任务的修修改(以以教学计计划为基基础)。学生成绩修改(w_student_score_edit):完成对现有学生成绩的修改,以全部考试成绩和补考成绩两种方式查询修改。学生基本信息校对(w_z_student_snumedit):校对学生基本信息的输入情况,包含修改功能。信

11、息查询模模块(窗窗口)学学生成绩绩查询(w_sscorre_qquerry):用于查查询指定定学生的的各个学学期的单单科或全全部成绩绩学生统统计信息息查询(w_qquerry):整合在在学学生生人数的的全部功功能查询询,完整整显示详详细的统统计信息息内容和和总数统统计。不不及格情情况查询询(w_makkeupp_quueryy):以以指定条条件查询询在学学学生的不不及格人人数、人人次和详详细内容容。不及及格情况况明细(w_nnopaass_lisst):显示全全院不及及格学生生的详细细情况。统计显示模模块(窗窗口)成成绩图形形显示(w_sscorre_ccounnt):以图形形方式显显示成绩绩

12、统计正正态分布布图打印模块(模模块)教教学计划划打印(w_pplann_prrintt):打打印教学学计划。教学任务打印(w_assignment_print):打印教学任务。学生成绩打印(w_score_print):打印各学期的各班学生成绩。成绩检索打印(w_query_print):打印学生成绩汇总信息,排名情况。学籍卡打印(w_student_score_table_1):打印学生的学籍卡(包括学生基本信息和学生在学成绩)。用户管理模模块(窗窗口)用用户权限限管理(w_uuserr_looginn):管管理准许许登陆系系统的用用户权限限(此窗窗口的权权限最高高)。典型模块(窗窗口)介介

13、绍主窗口(ww_maain)窗口要求:以框架方式式构建主主窗口,由由主窗口口打开的的窗口作作为框架架下的窗窗口,同同时在窗窗口菜单单下添加加打开窗窗口的选选项。自自动记录录快捷菜菜单栏的的位置。窗口界面和结果生成示例:主要控件脚本:主窗口(w_main).打开事件(open)/*傲宇软件工作室*/*-窗窗口名称称:主窗窗口 -*/*-窗窗口作用用:主窗窗口 -*/*-脚脚本作用用:初始始化窗口口 -*/*-作作者姓名名:王琮琮 -*/*-设设计日期期:20003-06-15 -*/*-修修改人姓姓名: -*/*-修修改日期期: -*/*-修修改原因因: -*/*/integger li_doc

14、ckroow/工工具栏行行号integger li_offfsett/工工具栏位位置/设置工工具栏位位置li_doockrrow = iinteegerr(PrrofiileSStriing(Eiie.iini,TToollBarrProoperrtiee,TooolBaar1_DocckRoow,1)li_offfseet = inntegger(ProofilleSttrinng(Eiee.inni,TooolBBarPPropperttie,TToollBarr1_OOffsset,11)This.SettTooolBaarPoos(11,lii_doockrrow,li_offfset

15、t,Faalsee)/设设置工具具栏1li_doockrrow = iinteegerr(PrrofiileSStriing(Eiie.iini,TToollBarrProoperrtiee,TooolBaar2_DocckRoow,2)li_offfseet = inntegger(ProofilleSttrinng(Eiee.inni,TooolBBarPPropperttie,TToollBarr2_OOffsset,11)This.SettTooolBaarPoos(22,lii_doockrrow,li_offfsett,Faalsee)/设设置工具具栏2li_doockrrow =

16、 iinteegerr(PrrofiileSStriing(Eiie.iini,TToollBarrProoperrtiee,TooolBaar3_DocckRoow,3)li_offfseet = inntegger(ProofilleSttrinng(Eiee.inni,TooolBBarPPropperttie,TToollBarr3_OOffsset,11)This.SettTooolBaarPoos(33,lii_doockrrow,li_offfsett,Faalsee)/设设置工具具栏3li_doockrrow = iinteegerr(PrrofiileSStriing(Eii

17、e.iini,TToollBarrProoperrtiee,TooolBaar4_DocckRoow,4)li_offfseet = inntegger(ProofilleSttrinng(Eiee.inni,TooolBBarPPropperttie,TToollBarr4_OOffsset,11)This.SettTooolBaarPoos(44,lii_doockrrow,li_offfsett,Faalsee)/设设置工具具栏主窗口(ww_maain).关闭事事件(cclosse)/*傲宇宇软件工工作室*/*-脚脚本作用用:保存存设置 -*/*-作作者姓名名:王琮琮 -*/*-设设计日

18、期期:20003-06-15 -*/*-修修改人姓姓名: -*/*-修修改日期期: -*/*-修修改原因因: -*/*/integger li_docckroow/工工具栏行行号integger li_offfsett/工工具栏位位置/保存设设置This.GettTooolBaarPoos(11,lii_doockrrow,li_offfsett)/获获取工具具条1的的位置属属性SetPrrofiileSStriing(Eiie.iini,TToollBarrProoperrtiee,TooolBaar1_DocckRoow,strringg(lii_doockrrow)SetPrrofiil

19、eSStriing(Eiie.iini,TToollBarrProoperrtiee,TooolBaar1_Offfsett,sstriing(li_offfsett)This.GettTooolBaarPoos(22,lii_doockrrow,li_offfsett)/获获取工具具条2的的位置属属性SetPrrofiileSStriing(Eiie.iini,TToollBarrProoperrtiee,TooolBaar2_DocckRoow,strringg(lii_doockrrow)SetPrrofiileSStriing(Eiie.iini,TToollBarrProoperrt

20、iee,TooolBaar2_Offfsett,sstriing(li_offfsett)This.GettTooolBaarPoos(33,lii_doockrrow,li_offfsett)/获获取工具具条3的的位置属属性SetPrrofiileSStriing(Eiie.iini,TToollBarrProoperrtiee,TooolBaar3_DocckRoow,strringg(lii_doockrrow)SetPrrofiileSStriing(Eiie.iini,TToollBarrProoperrtiee,TooolBaar3_Offfsett,sstriing(li_off

21、fsett)This.GettTooolBaarPoos(44,lii_doockrrow,li_offfsett)/获获取工具具条1的的位置属属性SetPrrofiileSStriing(Eiie.iini,TToollBarrProoperrtiee,TooolBaar4_DocckRoow,strringg(lii_doockrrow)SetPrrofiileSStriing(Eiie.iini,TToollBarrProoperrtiee,TooolBaar4_Offfsett,sstriing(li_offfsett)生成教学任任务窗口口(w_asssignnmennt)窗口要求:要

22、求以学期期和专业业为条件件,自动动生成教教学计划划所包含含的所有有年级和和所有班班级的教教学任务务。在重重复生成成教学任任务时,以以最后一一次的生生成结果果为准,仅仅保留最最近一次次生成结结果(即即允许刷刷新已有有的教学学任务)。以以保证在在更新教教学计划划后可以以同步更更新现有有的教学学任务。窗口界面和和结果生生成示例例:主要窗口控控件:教学任务统统计信息息显示窗窗口(dd_viiew):用于于显示教教学任务务统计信信息。学期显示窗窗口(dd_teerm):使用用数据窗窗口数据据列链接接方式显显示当前前数据库库中所有有有效学学期内容容。专业显示窗窗口(dd_sppec):同样样使用数数据窗口

23、口数据列列链接方方式显示示当前数数据库中中所有有有效专业业内容。检索按钮(cb_rettireeve):生成成教学任任务。保存按钮(cb_savve):保存已已生成的的教学任任务。清除按钮(cb_cleear):清除除教学任任务统计计显示窗窗口内容容。窗口功能实实现分析析:此窗口要求求以学期期和专业业为条件件,自动动生成教教学任务务。但生生成过程程的问题题是:教教学计划划是以专专业为单单位进行行编制的的,而教教学任务务是以班班为单位位、依据据教学计计划的指指定内容容生成的的。在生生成教学学任务之之前,需需要转换换教学任任务中所所需要的的班级信信息,而而班级信信息又需需要通过过一个包包含专业业和

24、班级级等信息息的关系系对照表表生成该该专业所所对应的的全部班班级。所所以在生生成最终终的教学学任务之之前需要要准备好好关系表表所需的的专业信信息,幸幸好窗口口已经提提供了。好好,条件件基本具具备,下下面来介介绍整个个教学任任务的生生成过程程。首先,获取取窗口提提供的学学期和专专业信息息。确认认信息有有效后构构造检索索所需的的3个游游标。(11)用于于检索年年级的游游标(游游标1)。以以学期和和专业为为条件,从从教学计计划中检检索出所所有涉及及到的年年级信息息。(22)用于于转换班班级的游游标。使使用刚取取得的年年级和窗窗口提供供的专业业为条件件,从前前面提到到的关系系对照表表中转换换出所对对应

25、的全全部班级级信息。(33)用于于生成最最终教学学任务的的游标。使使用当前前取得的的全部条条件(学学期、专专业、年年级和班班级),从从教学计计划中完完整的生生成教学学任务。其次,由于于教学计计划中的的信息可可能是一一对多的的关系,所所以在检检索过程程中需要要使用游游标的嵌嵌套方式式(游标标1(游游标2(游游标3)。由由游标11首先开开始检索索,验证证检索值值正确后后;游标标2使用用游标11检索的的结果继继续检索索,同样样验证检检索值正正确后;游标33开始检检索生成成教学任任务所需需的全部部内容,检检索值验验证完成成后,开开始向教教学任务务统计显显示窗口口添加检检索信息息。重复复以上操操作,直直

26、到所需需信息检检索完成成。实现窗口功功能使用用的特殊殊技术:在生成教学学任务时时使用了了多重游游标的嵌嵌套检索索。教学学计划中中的信息息可能是是一对多多的关系系,使用用普通的的检索语语句(SSeleect语语句)无无法完全全的检索索出生成成教学任任务所需需的信息息。因为为在PBB中,SSeleect语语句无法法对数据据行进行行定位,它它只能检检索出第第一条符符合条件件的记录录,所以以它不适适合检索索一对多多的数据据。而游游标可以以对数据据行进行行定位,可可以轻松松地检索索出符合合条件的的所有记记录。所所以采用用了游标标来检索索数据。使使用嵌套套检索是是因为数数据关系系不能在在一个数数据表中中完

27、整体体现,所所以需要要使用游游标在多多个表中中进行往往复检索索。主要控件脚脚本:检索按钮(cb_rettireeve).单击击事件(cclicckedd):/*傲宇宇软件工工作室*/*-脚脚本作用用:检索索记录 -*/*-作作者姓名名:王琮琮 -*/*-设设计日期期:20003-04-20 -*/*-修修改人姓姓名: -*/*-修修改日期期: -*/*-修修改原因因: -*/*/booleean lb_kshh,lbb_kcch,llb_qqzhbooleean lb_conntinnue = FFalsseintegger li_terrmiddintegger li_jidd,lii_sp

28、peciidintegger li_claassiidintegger li_jiddsavve55/保保留5届届的编号号integger li_couurseetimme,lli_ttctiime,li_shyy,lii_shhxu,li_kesshiintegger li_perrsonncouunt,li_ciddlong ll_nowwrowwlong ll_tesstroowstrinng lls_eexamminaatioon = for lll_ttesttroww = 1 tto 55 sttep 1/清清空届li_jjidssaveelll_teestrrow = 0next

29、li_teermiid = inntegger(d_22.Obbjecct.ttermmnammedd_2.GettRoww()/取取出学期期li_sppeciid = inntegger(d_33.Obbjecct.sspecciallityyd_3.GGetRRow()/取取出专业业if (ii_terrmidd = 0)aand(ii_speecidd = 0) thhen/检检测学期期专业是是否重复复ii_ttermmid = lli_ttermmidii_sspeccid = lli_sspeccidelseif (iii_teermiid = lii_teermiid)aand(i

30、i_speecidd = li_speecidd) theenif messsaggeboox(提示,您您当前选选择的数数据信息息与之前前的选择择相同,请请确认是是否继续续,QQuesstioon!,YessNo!,2) 1 theenreeturrnendd iffelseeii_terrmidd = li_terrmiddii_speecidd = li_speeciddend ifend iifd_1.RReseet()/清清除当前前数据窗窗口This.Enaableed = FaalseeDeclaare c_vvieww_teermiid CCurssor Forr/说说明游标标SE

31、LEECT plaan1.jiddFROOM pplann1Wheere plaan1.terrmidd = :lii_teermiid AAND plaan1.speecidd = :lii_sppeciid;Declaare c_vvieww_dssc CCurssor Forr/说说明游标标SELEECT d_ss_c.claassiidFROOM dd_s_cWHEERE d_ss_c.jidd=:lli_jjid andd d_s_cc.sppeciid=:li_speecidd;Declaare c_vvieww_innserrt CCurssor Forr/说说明游标标SELEC

32、CTplann1.ccourrsettimee,pllan11.tcctimme,pplann1.sshy,plaan1.shxxu,pplann1.kkeshhi,cclasss.pperssonccounnt,pplann1.kksh,plaan1.kchh,pllan11.qzzh,pplann1.ccid FROOM pplann1,cclasssWHEERE plaan1.terrmidd = :lii_teermiid AAND plaan1.speecidd = :lii_sppeciid AAND plaan1.jidd = :lii_jiid AAND claass.claa

33、ssiid = :lli_cclasssidd;Open c_vvieww_teermiid;/打打开游标标Fetchh c_vieew_ttermmid InTTo :li_jidd;/读读取检索索结果do whhilee SQQLCAA.SQQLcoode = 00/读读取成功功/检查查jidd是否重重复for ll_tesstroow = 1 to 5 sstepp 1if li_jiddsavvelll_ttesttroww 00 thheniff lii_jiid = lii_jiidsaavell_tesstroow theen/查查找到相相同的届届编号llb_cconttinuu

34、e = Trrue/重重新检索索数据ellsellb_cconttinuue = Faalseeennd iifelsseExxitendd iffnexttif llb_cconttinuue tthenn/重重新检索索数据Fettch c_vvieww_teermiid IInToo :lli_jjid;/读读取检索索结果Conntinnue/重重新检测测读取结结果end ifli_jjidssaveelll_teestrrow = li_jidd/保保存届编编号/对应应班级Openn c_vieew_ddsc;/打打开游标标Fetcch cc_viiew_dscc InnTo :lii_

35、cllasssid;do wwhille SSQLCCA.SSQLccodee = 0/读读取成功功is_claassiid+=Spaace(4-LLen(strringg(lii_cllasssid)+strringg(lii_cllasssid) /保保留班级级编号ls_exaaminnatiion = Opeen cc_viiew_inssertt;/打打开游标标Fettch c_vieew_iinseert InTTo :li_couurseetimme,:li_tcttimee,:lli_sshy,:lii_shhxu,:li_kkeshhi,:li_perrsonncouunt,:

36、lbb_kssh,:lb_kchh,:llb_qqzh,:lii_ciid; /读读取检索索结果do whiile SQLLCA.SQLLcodde = 0/读读取成功功lss_exxamiinattionn = lll_noowroow = d_1.IInseertRRow(0)iff lll_noowroow = -11 thhen/插插入失败败iif MMesssageeboxx(提提示,无法法插入检检索信息息行,是是 / 否 继继续?n提示示:如果果继续可可能丢失失部分信信息。,Exxclaamattionn!,YYesNNo!,2) = 22 thhenRetturnn/退退出een

37、d ifennd iif/填入检检索信息息d_1.OObjeect.terrmiddlll_noowroow = lli_ttermmidd_1.OObjeect.claassiidlll_nnowrrow = li_claassiidd_1.OObjeect.ciddlll_noowroow = lli_ccidd_1.OObjeect.perrioddlll_noowroow = lli_ccourrsettimeed_1.OObjeect.teaachll_nowwroww = lii_tcctimmed_1.OObjeect.expperiimenntlll_nnowrrow = li

38、_shyyd_1.OObjeect.traainll_nowwroww = lii_shhxuiff lii_keeshii = 100 thhendd_1.Objjectt.leessoonhll_nowwroww = lii_keeshii * 17ellsedd_1.Objjectt.leessoonhll_nowwroww = lii_keeshiiennd iifd_1.OObjeect.perrsonnclll_nnowrrow = li_perrsonncouuntiff lbb_kssh tthennlls_eexamminaatioon += 考试ennd iififf lb

39、b_kcch tthenniif lls_eexamminaatioon tthennls_exaaminnatiion += ,eend iflls_eexamminaatioon += 考查ennd iififf lbb_qzzh tthenniif lls_eexamminaatioon tthennls_exaaminnatiion += ,eend iflls_eexamminaatioon += 取证ennd iifd_1.OObjeect.exaaminnatiionll_nowwroww = lss_exxamiinattionnd_1.OObjeect.tabbleddlll

40、_noowroow = DDateeTimme(TTodaay()Feetchh c_vieew_iinseert InTTo :li_couurseetimme,:li_tcttimee,:lli_sshy,:lii_shhxu,:lii_keeshii,:li_pperssonccounnt,:lb_kshh,:llb_kkch,:lbb_qzzh,:li_cidd;/读取检检索结果果looopCloose c_vvieww_innserrt;/关关闭游标标Fettch c_vvieww_dssc IInToo :lli_cclasssidd;looppClosse cc_viiew_ds

41、cc;/关关闭游标标Fetchh c_vieew_ttermmid InTTo :li_jidd;/读读取检索索结果loopClosee c_vieew_ttermmid;/关关闭游标标Commiit;This.Enaableed = Trrued_1.SSetFFocuus()保存按钮(cb_savve).单击事事件(cclicckedd):/*傲宇宇软件工工作室*/*-脚脚本作用用:保存存记录 -*/*-作作者姓名名:王琮琮 -*/*-设设计日期期:20003-04-20 -*/*-修修改人姓姓名: -*/*-修修改日期期: -*/*-修修改原因因: -*/*/integger li_fl

42、aagintegger li_claassiiddo whhilee Leen(iis_cclasssidd) 0li_cclasssidd = inttegeer(TTrimm(Leeft(is_claassiid,44)/取取出班级级号is_cclasssidd = Rigght(is_claassiid,(Lenn(iss_cllasssid) - 4)/刷刷新班级级保存DELEETE FROOM aassiignmmentt WWHERRE(asssiggnmeent.terrmidd = :iii_teermiid) ANDD (aassiignmmentt.cllasssid =

43、:li_claassiid);if SSQLCCA.SSQLccodee 0 theenRolllbaack;Messsaggeboox(提示,数数据库更更新失败败,无法法保存当当前信息息!,Excclammatiion!,OKK!,11)Retturnnend ifloopli_fllag = ff_saaveddw(dd_1,w_aassiignmmentt)/保保存数据据窗口数数据if lii_fllag = 11 thhen/保保存成功功Messsageeboxx(提提示,信息息保存成成功!请请按“添加”按钮继继续添加加新信息息。,Infformmatiion!,OKK!,11)end

44、 iifd_1.SSetFFocuus()不及格情况况查询窗窗口(ww_maakeuup_qquerry)窗口要求:提供一个比比较开放放的查询询结构,利利用现有有数据库库的数据据信息以以较宽松松的方式式查询在在学学生生的不及及格人数数和人次次。需要要统计信信息反馈馈和详细细信息反反馈。统统计信息息为指定定条件的的不及格格人数的的总和以以及不及及格人次次的总和和。详细细信息反反馈包括括不及格格学生的的学号、姓姓名、课课程、考考试课成成绩、考考查课成成绩和不不及格原原因。查询条件为为:学期期、专业业、班级级、课程程。提供检索条条件的自自动限制制功能。如如:选择择专业后后,班级级选项中中仅显示示该专

45、业业所包括括的班级级,过滤滤掉其它它的班级级项目。在在选择检检索条件件后,自自动刷新新该条件件所对应应的条件件选项。窗口界面和和结果生生成示例例:仅以学期为为检索条条件以学期和专专业为条条件以学期、专专业和班班级进一一步限制制条件使用全部条条件限制制主要窗口控控件:检索信息显显示窗口口(d_vieew):显示在在学不及及格学生生的详细细情况。学期下拉显显示框(dddlbb_teerm):显示所所有学期期信息。专业下拉显显示框(dddlbb_sppeciialiity):显示所所有专业业信息。班级下拉显显示框(dddlbb_cllasss):以以专业为为条件显显示班级级项目信信息。科目下拉显显示

46、框(dddlbb_suubjeect):以学期期和专业业为条件件显示科科目项目目信息。检索按钮(ccb_qquerry):根据条条件检索索。窗口功能实实现分析析:此窗口要求求实现两两个主要要功能:第一,实实现检索索条件的的自动限限制功能能,就是是在选择择条件选选项后按按照现有有所选条条件自动动刷新与与其相关关的条件件选项。第第二,实实现一个个较为通通用的检检索结构构,在最最简单的的条件查查询下提提供较宽宽范围的的检索过过程。这这是设计计窗口时时的两个个重点。在实现第一一个功能能时,主主要问题题是窗口口要求的的四个条条件选项项之间的的相互关关系和动动态刷新新。首先先来分析析四个条条件选项项之间的

47、的相互关关系,学学期和专专业是较较高层的的条件不不需要令令两个条条件的限限制,可可以直接接通过下下拉选项项框表示示。实现现这两个个条件选选项的动动态添加加是通过过窗口函函数(uuf_aadd_speeciaalitty和uuf_aadd_terrm)来来完成的的。这两两个函数数可以自自动添加加现有数数据库中中所有有有效的专专业和学学期选项项(函数数内容见见控件脚脚本)。班班级选项项则需要要专业作作为条件件,来显显示指定定专业所所涉及的的班级情情况并且且在更改改专业选选项后要要自动刷刷新班级级选项。通通过窗口口函数(uuf_aadd_claass)来来完成对对班级选选项的添添加和刷刷新(函函数内

48、容容见控件件脚本)。科科目选项项的限制制条件为为学期和和班级,因因为不同同学期和和班级的的课程是是不相同同的,所所以在修修改学期期和班级级的同时时需要刷刷新科目目选项。科科目的添添加和刷刷新是通通过窗口口函数(uuf_aadd_subbjecct)来来完成的的(函数数内容见见控件脚脚本)。为了更大限限度的提提高查询询的通用用性,当当某个选选项选择择为“空”时,以以上的四四个函数数会向查查询功能能模块提提供所对对应选项项的全部部条件情情况。要实现第二二个功能能,最大大的障碍碍是如何何构造一一个适合合任何情情况的查查询结构构。如果果使用普普通的查查询方法法(如SSeleect或或者普通通游标)实实

49、现功能能,是比比较困难难的。普普通的查查询方法法只能使使用于一一个固定定的查询询特征,不不可以在在程序运运行过程程中根据据用户的的条件,动动态的变变化查询询特征。并并且要以以统计信信息和详详细信息息两种方方式显示示。扫除障碍需需要分为为两个步步骤,首首先显示示要求的的详细信信息部分分,再显显示统计计信息。详细信息部部分使用用的是数数据窗口口的显示示形式,可可以采用用设置动动态数据据窗口的的方法。因因为PBB中的数数据窗口口只是一一个图形形化的SSQL检检索语句句,所以以通过动动态设置置数据窗窗口检索索语法可可以轻松松完成的的要求。实实现动态态修改,首首先是获获取数据据窗口的的预制SSQL语语法

50、,去去掉动态态条件语语句部分分;然后后根据前前面用户户选择的的条件构构造出符符合当前前检索特特征的条条件语句句;最后后将过滤滤过的预预制SQQL语法法和构造造出的条条件语句句合并。得得到动态态SQLL后,只只需将新新的动态态SQLL植入到到数据窗窗口,检检索就可可以了。显示统计信信息部分分使用的的是“第三类类动态SSQL语语句”的游标标方式来来完成。原原理和之之前类似似,同样样是依据据用户选选择的条条件来构构造条件件语句进进行检索索。不同同的是之之前利用用了数据据窗口的的原始SSQL语语法和数数据窗口口自身的的检索功功能,而而现在没没有数据据窗口,所所以采用用“第三类类动态SSQL语语句”来代

51、替替数据窗窗口。利利用“第三类类动态SSQL语语句”允许动动态修改改检索语语法的特特征,构构造出动动态SQQL语法法,使用用“第三类类动态SSQL语语句”的游标标方式来来完成检检索工作作。实现窗口功功能使用用的特殊殊技术:当前窗口使使用了两两种特殊殊技术。一一种是数数据窗口口语法的的动态设设置方式式,它可可以设置置数据窗窗口的部部分检索索条件,以以适应不不同情况况(后面面还有一一种随意意修改数数据窗口口语法的的方式,可可以适应应更复杂杂的情况况)。另另一种是是“第三类类动态SSQL语语句”的游标标方式,它它可以灵灵活定义义SQLL语法来来完成检检索。主要控件脚脚本:窗口实例变变量:integg

52、er ii_speecidd_noow = 0/专专业代码码当前项项integger ii_terrmidd_noow = 0/学学期代码码当前项项integger ii_claassiid_nnow = 00/班班级代码码当前项项integger ii_cidd_noow = 0/课课程编号号当前项项strinng iis_sspeccid_savve = /保保存专业业代码strinng iis_ttermmid_savve = /保保存学期期代码strinng iis_cclasssidd_saave = /保保存班级级代码strinng iis_ccid_savve = /保保存课程程

53、代码窗口函数:uf_addd_teerm(droopdoownllisttboxx a_ddllb) retturnns bboolleann/*傲宇宇软件工工作室*/*-函函数名称称:uff_addd_ttermm -*/*-脚脚本作用用:无条条件向下下拉列表表框填入入学期项项目 -*/*-输输入参数数:a_ddllb -*/*-输输入参数数数据类类型:ddroppdowwnliistbbox -*/*-返返回参数数:成功功返回TTruee;失败败返回FFalsse -*/*-返返回参数数数据类类型:bboolleann -*/*-作作者姓名名:王琮琮 -*/*-设设计日期期:20003-0

54、5-31 -*/*-修修改人姓姓名: -*/*-修修改日期期: -*/*-修修改原因因: -*/*/integger li_terrmidd/学学期代码码integger li_terrmnuum = 0/学学期代码码计数器器integger li_flaag/返返回标志志strinng lls_ttermmnamme/学学期名称称is_teermiid_ssavee = /清清空学期期代码缓缓冲a_ddllb.RReseet()/清清空下拉拉列表/填入空空白选项项li_fllag = aa_dddlb.InsserttIteem( ,li_terrmnuum)/向向下拉列列表添加加空项目目i

55、f lii_fllag = -1 tthenn/添添加失败败Retuurn Fallse/失失败返回回end iifis_teermiid_ssavee += Sppacee(6 - LLen(strringg(-11) + strringg(-11)/累累计空项项目标记记li_teermnnum +ii_teermiid_nnow = 11/填填入当前前位置a_ddllb.TTextt = /填填入默认认选项/填入实实际选项项DECLAARE c_ssearrch_terrm CCURSSOR FORR/构构造游标标,用于于检索学学期代码码和名称称SELEECT terrm.ttermmid

56、,terrm.ttermmnamme FROMM teerm;Open c_ssearrch_terrm;/打打开游标标Fetchh c_seaarchh_teerm InTTo :li_terrmidd,:lls_ttermmnamme;/检检索游标标do whhilee SQQLCAA.SQQLcoode = 00/读读取成功功is_ttermmid_savve += SSpacce(66 - Lenn(sttrinng(lli_ttermmid) +sttrinng(lli_ttermmid)/累累计系编编号li_ttermmnumm +/累累计学期期代码数数量li_fflagg = a

57、_dddlbb.InnserrtIttem(ls_terrmnaame,li_terrmnuum)/向向下拉列列表添加加项目if lli_fflagg = -1 theen/添添加失败败Commmitt;/提提交Retturnn Faalsee/失失败返回回end ifFetcch cc_seearcch_ttermm InnTo :lii_teermiid,:ls_terrmnaame;/检检索游标标loopClosee c_seaarchh_teerm;/关关闭游标标Commiit;/提提交Returrn TTruee/成成功返回回/获得当当前学期期编号:integger(Triim(RR

58、ighht(LLeftt(iss_teermiid_ssavee,(iii_ttermmid_noww * 6),6)窗口函数:uf_addd_sppeciialiity(droopdoownllisttboxx a_ddllb) retturnns bboolleann/*傲宇宇软件工工作室*/*-函函数名称称:uff_addd_sspecciallityy -*/*-脚脚本作用用:无条条件向下下拉列表表框填入入专业项项目 -*/*-输输入参数数:a_ddllb -*/*-输输入参数数数据类类型:ddroppdowwnliistbbox -*/*-返返回参数数:成功功返回TTruee;失败败

59、返回FFalsse -*/*-返返回参数数数据类类型:bboolleann -*/*-作作者姓名名:王琮琮 -*/*-设设计日期期:20003-05-31 -*/*-修修改人姓姓名: -*/*-修修改日期期: -*/*-修修改原因因: -*/*/integger li_speecidd/专专业代码码integger li_speecnuum = 0/专专业代码码计数器器integger li_flaag/返返回标志志strinng lls_sspeccnamme/专专业名称称is_sppeciid_ssavee = /清清空专业业代码缓缓冲a_ddllb.RReseet()/清清空下拉拉列表/

60、填入空空白选项项li_fllag = aa_dddlb.InsserttIteem( ,li_speecnuum)/向向下拉列列表添加加空项目目if lii_fllag = -1 tthenn/添添加失败败Retuurn Fallse/失失败返回回end iifis_sppeciid_ssavee += Sppacee(6 - LLen(strringg(-11) + strringg(-11)/累累计空项项目标记记li_sppecnnum +ii_sppeciid_nnow = 11/填填入当前前位置a_ddllb.TTextt = /填填入默认认选项/填入实实际选项项DECLAARE c_

温馨提示

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

评论

0/150

提交评论