版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学生成绩管理系统程序分析一系统分析与设计1)系统功能分析系统功能分析阶段的任务就是确定该系统所要解决的问题及其具体要求。学生成绩管理系统需要完成的主要功能如下:(1) 班级信息的输入和存储,包括班级编号、班级名称、所届专业、入学时间和学制等。(2) 对已经输入的班级信息的修改、查询。(3) 学生基本信息的输入和存储、包括学号、姓名、性别、出生日期、班级等。(4) 学生基本信息的修改和查询。(5) 每学期初各班所开设课程的输入,包括课程名、学期、学时等。(6) 各班所开设课程信息的修改和查询。(7) 学期末输入每个学生的考试成绩。(8) 学生成绩的修改。(9) 查询某个学生。(10) 查询并打印
2、某班某学期所有学生的各科成绩。(11) 查询并打印某班某学期某课成绩。(12) 系统具有用户和密码的管理。2)系统功能模块分析通过上面各项功能的分析、分类、综合,按照模块化程序设计的要求,得到它的模块结构:(1) 系统管理它包括密码修改,用户管理,登录控制。(2) 班级信息管理它包括班级信息修改,班级信息查询,班级信息输入。(2) 学生基本信息管理包括学生基本信息查询,学生基本信息修改,学生基本信息输入。(3) 课程信息管理包括课程信息查询修改,课程信息输入。(4) 成绩信息管理包括成绩查询,成绩修改,成绩输入。1) 二、数据库设计和实现创建数据库在PowerBuilder开发环境中打开数据库
3、画板,使用ODBODBC接口建立AdaptiveServerAnywhere8.0(ASA8.0)的数据库,然后建立5个表和1个视图。分别为“班级”表、“学生基本信息”表、“课程”表、“成绩”表、“用户”表。各表之间的关系如下图1所示:图1各表的关联关系2) 创建应用对象(1) 创建新的工作空间。(2) 创建应用对象,应用对象名设为“app_xscj”。(3) 打开新的对象画板.为应用对象叩p_xscj的Open事件编写代码如下:/ProfileliudiSQLCA.DBMS=ODBCSQLCA.AutoCommit=FalseSQLCA.DBParm=ConnectString=DSN=li
4、udi;UID=;PWD=CONNECT;ifSQLCA.sqlcode0thenmessagebox(提示”,”数据库连接失败!)elseopen(w_login)endif执行此应用时,首先链接数据库“xscj”,成功后打开登录窗口。三、设计系统管理模块1)设计登录窗口登录窗口如图2所示:图2登录窗口为登录窗口编写脚本。(1) 定义全局变量stringgs_username,gs_password,gs_admin分别存储登录用户的姓名、密码和权限。定义实例变量intli_n存而登录时用户输入密码错误的尝试次数,控制在最多3次机会。登录窗口w_login的open事件脚本如下li_n=3和
5、始化变量li_n,限制出错次数为3次。(2) 确定按钮cb_1的Clicked事件脚本如下。stringls_username,ls_passwordls_username=trim(sle_1.text)ls_password=trim(sle_2.text)ifls_username=orls_password=thenmessagebox(提示”,”用户名和密码不能为空)elseSELECTusers”.”name”,users”.”password”,users”.”adminINTO:gs_username,:gs_password,:gs_adminFROMusersWHERE(u
6、sers”.”name=:ls_username)AND(users”.”password=:ls_password);ifsqlca.sqlcode=0thenopen(w_main)close(w_login)elseli_n=li_n-1ifli_n0thenmessagebox(提示,用户名或密码错误)elsemessagebox(提示,错误超过3次,自动退出)haltendifendif(3) endif放弃按钮cb_2的Clicked事件脚本如下.halt2)设计密码修改窗口创建窗口并设置届性创建密码修改窗口w_mmxg,调整其大小,在窗口上放置3个静态文本控件(st_1,st_2
7、,st_3)2个命令按钮控件(cb_1,cb_2),设计完后如图3所示:图3密码修改窗口为密码窗口编写脚本(1) 确定按钮cb_1的Clicked事件脚本如下。stringls_passwordiftrim(sle_1.text)gs_passwordthenmessagebox(提示,旧密码错误)elseiftrim(sle_2.text)=(sle_3.text)thenls_password=trim(sle_2.text)UPDATEusersSETpassword=:ls_passwordWHERE(=:gs_username)AND(users.password
8、=:ls_password);ifsqlca.sqlcode0thenmessagebox(提示,密码修改不成功)elseclose(parent)messagebox(提示,密码修改完成)endifelsemessagebox(提示,两次密码不相同)endifendif(2) 取消按钮cb_2的Clicked事件脚本如下。Close(parent)2)设计用户管理的数据窗口和窗口设计数据窗口创建数据窗口“d_yhgl”,显示风格为“Grid”,数据源类型为“QuickSelect”,布局如图4所示。图4数据窗口d_yhgl数据窗口d_yhgl生成的SQLSelect语句为:SELECTuse
9、,users.password,users.adminFROMusers创建窗口并设置届性创建用户管理窗口w_yhgl,调整其大小,在窗口上放置1个数据窗口控件(dw_1)、4个命令按钮控件(cb_1、cb_2、cb_3、cb_4),设计完后的窗口如图5所示:图5用户管理窗口(1) 为窗口编写脚本用户管理窗口w_yhgl的Open事件脚本如下。dw_1.settransobject(sqlca)(2) dw_1.retrieve()用户管理窗口w_yhgl的Closequery事件脚本如下。integerrtdw_1.accepttext()ifdw_1.modifiedcoun
10、t()=0anddw_1.deletedcount()=0thenreturn0elsert=messagebox(提示”,”添加修改内容未保存,确实退出吗?,Question!,YesNo!)ifrt=1thenreturn0endifendif(3) return1数据窗口控件dw_1的Itemechanged事件脚本如下。(4) cb_3.enabled=true/激活“保存”按钮添加按钮控件cb_1的Clicked事件脚本如下。integerrowrow=dw_1.insertrow(0)(5) dw_1.scrolltorow(row)删除按钮控件cb_2的Clicked事件脚本如下
11、。dw_1.deleterow(0)(6) cb_3.enabled=true保W按钮控件cb_3的Clicked事件脚本如下。ifdw_1.update(true,false)=1thendw_1.resetupdate()commit;cb_3.enabled=falseelserollback;messagebox(提示,保存数据失败!)(7) endif退出按钮控件cb_4的Clicked事件脚本如下。close(parent)四、设计主窗口和菜单1)创建菜单对象菜单结构如图6所示。菜单对象名为“m_main”,菜单栏中的菜单项设置了访问键(AccessKey),常用的菜单项设置了快捷
12、键(如退出系统的快捷键为Alt+F4,最常用的菜单项在工具条上建立了按钮。)下面编写各个菜单项的脚本。对于这些代码,在对应的窗口没有建立之前先注释掉,在建立之后再去掉注释。(1) 系统菜单下密码修改菜单的Clicked事件脚本如下。Open(w_mmxg)(2) 系统亲单下用户管理菜单的Clicked事件脚本如下。Open(w_yhgl)(3) 系统菜单下退出系统菜单的Clicked事件脚本如下。Close(parentwidow)(4) 班级管理菜单下录入班级信息菜单的Clicked事件脚本如下。opensheet(w_banji_shuru,w_main,6,Original!)5)班级管
13、理愤单f修改两K信息菜单的Clicked事件脚本如下。opensheet(w_banji_xiugai,w_main,6,Original!)(4) 班级管S菜吊下浏血级信息菜单的Clicked事件脚本如下。opensheet(w_banji_liulan,w_main,6,Original!)(5) 学生管S菜吊下录R学生信息菜单的Clicked事件脚本如下。opensheet(w_jiben_shuru,w_main,6,Original!)(6) 学生管理菜不下修奸生信息菜单的Clicked事件脚本如下。opensheet(w_jiben_xiugai,w_main,6,Original
14、!)m1me血m_main密玛修改用户管理退出亲蝙AIH-F41白班皱管理福(7) 学生管理菜单下查询学生信息菜单的Clicked事件脚本如下。opensheet(w_jiben_chaxun,w_main,6,Original!)(8) 课程管理菜单下录;修改开设课程菜单的Clicked事件脚本如下。opensheet(w_bjkc_shurnxiugai,w_main,6,Original!)(9) 课程管理菜单下查询开设课程菜单的Clicked事件脚本如下。opensheet(w_bjkc_chaxun,w_main,6,Original!)(10) 成绩管理菜单下录入修改成绩菜单的Cl
15、icked事件脚本如下。opensheet(w_xscj_shuru,w_main,6,Original!)(11) 成绩管理菜单下查询个人成绩菜单的Clicked事件脚本如下。opensheet(w_xscj_chaxun,w_main,6,Original!)(12) 成绩管理菜单下查询班级成绩菜单的Clicked事件脚本如下。opensheet(w_xscj_bjcx,w_main,6,Original!)(13) 成绩管理菜单下查询课程成绩菜单的Clicked事件脚本如下。opensheet(w_xscj_kccx,w_main,6,Original!)(14) 窗口菜单下层叠窗口菜单
16、的Clicked事件脚本如下。w_main.arrangesheets(cascade!)11|公07)帮助菜单下关丁菜单的Clicked事件脚本如下。open(w_about溜6菜单结构(18)而助菜单下联机帮助菜单的Clicked事件脚本如下ShowHelp(d:xscjhelpxscjhelp.chm”,index!)景入班钗信息Ctrl-f怖改班钗信息ClrHii剧览班叛信息- 学生管理陟I录入学生信息ClrH傩改学生信息WI十iii查询学生信息- 课程首理辟家入傩改开啊程查询开设课程信息- 成馈管理过录入修改成最Ctl4I-查询个大成绩查询班切成魂查询课程成最*肯口&W2)设计窗口本
17、次学生成绩管理系统的主窗口界面如图7所示:图7主窗口界面创建窗口对象w_main,其Open事件脚本如下。ifgs_admin=nthenm_main.m_系统.m_用户管理.enabled=falseendif其功能是非管理员用户进入系统时关闭【用户管理】菜单项。1) 五、设计班级管理模块设计访问班级信息的数据窗口设计输入班级信息的数据窗口创建数据窗口d_banji_shuru,显示风格为“Freeform”,数据源类型为“QuickSelect”,其布局如图8所示。图8数据窗口d_banji_shuru数据窗口d_banji_shuru生成的SQLSelect语句为:SELECTbanji
18、.bjbh,banji.bjmc,banji.zymc,banji.xz,banji.rxsj,banji.rsFROMbanji设计修改班级信息的数据信息创建数据窗口d_banji_xiugai,显示风格为“Grid”,数据源类型为“QuickSelect”,其布局如图9所示图9数据窗口d_banji_xiugai数据窗口d_banji_xiugai生成的SQLSelect语句为:SELECTbanji.bjbh,banji.bjmc,banji.zymc,banji.xz,banji.rxsj,banji.rsFROMbanjiORDERBYbanji.bjbhASC设计访问班级信息的窗口
19、设计输入窗口创建窗口对象w_shuru,调整其大小,放置1个数据窗口控件(dw_1)、8个命令按钮控件(cb_1cb_8),窗口布局如图10所示。图10输入窗口设置完届性后开始编写脚本代码,其中窗口w_shuru的Open事件、命令按钮(添加、删除、保存、退出)的Clicked事件同窗口w_yhgl的相应事件脚本。其他命令按钮的事件脚本如下:(1) |按钮的Clicked事件脚本如下。dw_1.scrolltorow(1)(2) 按钮的Clicked事件脚本如下。dw_1.scrollnextrow()(4) |按钮的Clicked事件脚本如下。设计修改窗口创建窗口对象w_xiugai,调整其
20、大小,放置1个数据窗口控件(dw_1)、4个命令按钮控件(cb_1cb_4),窗口布局如图11所示:图11修改窗口窗口和控件的事件脚本与以上输入窗口的对应部分相同。设计输入班级信息窗口通过继承输入窗口w_shuru生成输入班级信息窗口w_banji_shuru,将数据控件dw_1的DataObjectU性设置为d_banji_shuru,将窗口的Tile届性改为“录入班级信息”,此窗口设计在完成了。如图12所示:图12录入班信息级窗口设计修改班级信息窗口通过继承输入窗口w_xiugai生成输入班级信息窗口w_banji_xiugai,将数据控件dw_1的DataObjectU性设置为d_ban
21、ji_xiugai,将窗口的Tile届性改为“修改班级信息”,此窗口设计在完成了。如图13所示:图13修改班级信息窗口设计浏览班级信息窗口创建窗口对象w_banji_liulan,调整其大小,放置一个数据窗口控件dw_1,调整窗口布3如图14所示。图14浏览班级信息窗口窗口的Open事件脚本如为:dw_1.settransobject(sqlca)dw_1.retrieve()六、设计学生基本信息管理模块1)设计访问学生基本信息的数据窗口设计输入学生基本信息的数据窗口创建数据窗口d_jiben_shuru,显示风格为“Freeform”,数据源类型为“QuickSeleC,其布局如图15所示:
22、图15数据窗口d_jiben_shuru数据窗口的d_jiben_shuru生成的SQLSelect语句为:SELECTjiben.xh,jiben.xm,jiben.xb,jiben.csrq,jiben.jtzz,jiben.bjbhFROMjiben设计修改学生基本信息的数据窗口创建数据窗口d_jiben_xiugai,显示风格为“Grid”,数据源类型为“QuickSelect”,其布局如图16所示:图16数据窗口d_jiben_xiugai数据窗口d_jiben_xiugai生成的SQLSeleect语句为:SELECTjiben.xh,jiben.xm,jiben.xb,jiben
23、.csrq,jiben.jtzz,jiben.bjbhFROMjibenORDERBYjiben.xhASC设计查询学生基本信息的数据窗口创建数据窗口d_jiben_chaxun,显示风格为“Grid”,数据源类型为“SQLSelect”,其布局如图17所示:图17数据窗口d_jiben_chaxun其中,定义3个String型的检索参数变量mxh、mxm、mbj,分别表示学号、姓名、班级,形成带检索参数的数据窗口。2)设计访问学生基本信息的窗口设计输入学生基本信息的窗口通过继承窗口输入窗口w_shuru生成输入学生基本信息窗口w_jiben_shuru,将数据控件dw_1的DataObjec
24、tU性设置为d_jiben_shuru,将窗口的Title届性改为“录入学生基本信息”,如图18。图18录入学生基本信息窗口2. 设计输入学生基本信息的窗口通过继承窗口输入窗口w_xiugai生成修改学生基本信息窗口w_jiben_xiugai,将数据控件dw_1的DataObjectU性设置为d_jiben_xiugai,将窗口的Title届性改为“修改学生基本信息”,如图19:设计查询学生基本信息的窗口要求此窗口中能够根据学生的姓名或学号查询出学生的基本信息,能够根据班级名称查询出该班所有学生的基本信息。窗口如图20所示:图19修改学生基本信息窗口图20查询学生基本信息窗口查询按钮的Ope
25、n事件脚本如下。dw_1.settransobject(sqlca)ifddplb_1.text=orsle_1.text=thenmessagebox(提示,查询列和查询内容不能为空!)returnendifstringstrstr=trim(sle_1.text)choosecaseddplb_1.textcase学号dw_1.retrieve(str,%,%)casedw_1.retrieve(%,str,%)case班级名称dw_1.retrieve(%,%,str)endchoose代码中根据查询依据的不同,以不同参数方式检索。七、设计课程管理模块1)设计访问课程信息的数据窗口设计输
26、入班级课程信息的数据窗口创建数据窗口d_bjkc_shuru,显示风格为“Grid”,数据源类型为“QuickSelect”,其布局如图21所示:图20数据窗口d_bjkc_shuru数据窗口d_bjkc_shuru生成的SQLSeleect语句为:SELECTHbjkcH.HbjbhH,HbjkcH.HxqH,HbjkcH.HkcmcH,”bjkc”.”xs”,”bjkc”.”jsxm”FROM”bjkc”.设计查询班级课程信息的数据窗口创建数据窗口d_bjkc_chaxun,显示风格为“Grid”,数据源类型为“QuickSelect”,其布局如图21所示。图21数据窗口d_bjkc_ch
27、axunn其中,定义2个String型检索参数变量mxq、mbjmc,分别表示学期、班级,形成带检索参数的数据窗口。该数据窗口的修改届性为默认值即“不允许修改”。数据窗口d_bjkc_chaxun生成的SQLSelect语句为:SELECT”bjkc”.”kcmc”,”bjkc”.”xs”,”bjkc”.”jsxm”,FROM”bjkc”,”banji”WHERE(banji”.”bjbh=”bjkc”.”bjbh”)AND(bjkc”.”xq=:mxq)AND(banji.bjmc=:mbjmc)2)设计访问课程信息的窗口设计输入修改班级课程信息的窗口班级课程的输入和修改都通过此窗口完成,输
28、入修改班级课程信息的窗口布局如图22所示。图22输入修改班级课程信息的窗口首先,从祖先窗口w_xiugai继承生成窗口对象w_bjkc_shuruxiugai,调整其大小。然后将数据窗口控件dw_1的DataObject届性设置为d_bjkc_shuru,此窗口设计即完成。设计查询班级开设课程的存口-首先创建一个窗口对象w_bjkc_chaxun,调整大小,在窗口中放置2个静态文本控件(st_1,st_2)、2个下拉列表框控件(ddlb_1,ddlb_2)、1个命令按钮(cb_1)、1个数据窗口控件(dw_1),调整各个控件的位置和大小。如图23所示:窗口w_bjkc_chaxun的open事
29、件脚本如下dw_1.settransobject(sqlca)intli_xq,li_bjmc,nstringls_xq,ls_bjmcselectcount(distinctxq)into:li_xq图23查询班级开设课程的窗口from课程;declarexqcursorcursorforselectxqfrom课程groupbyxq;openxqcursor;forn=1toli_xqfetchnextxqcursorinto:ls_xq;ddplb_1.additem(ls_xq)nextclosexqcursor;selectcount(distinctbjmc)into:li_bjm
30、cfrom班级;declarebjmccursorcursorforselect班级.bjmcfrom课程,班级where课程.bjbh=班级.bjbhgroupby班级.bjmc;openbjmccursor;forn=1toli_bjmcfetchnextbjmccursorinto:ls_bjmc;(2) ddplb_2.additem(ls_bjmc)nextclosebjmccursor;查询按钮的Clicked事件脚本如下。dw_1.retrieve(ddplb_1.text,ddplb_2.text)八、设计成绩管理模块1)设计访问成绩信息的数据窗口设计输入成绩信息的数据窗口创建
31、数据窗口d_xscj_shuru,显示风格为“Grid”,数据源类型为“SQLSelect”,其布局如图19所示。数据来源与成绩表xscj和视图xsjb,其中,学号、学期、课程名称和成绩为成绩表xscj的列,姓名是视图xscj的列。选则Roes|UpdataProperties疝令,打开数据窗口的修改届性对话框,如图24所示:图24数据窗口d_xscj_shuru选择Rows|UpdateProperties命令,打开数据窗口的修改届性对话框,设置数据窗口的修改届性,即只有成绩表xscj的成绩列可以在数据窗口中修改,关键字为成绩表xscj的主关键字(xh,xq,kcmc)。然后,单击工具条上的
32、TabOrder图标,将歹U控件sxcj_cj的TabOrder值设为10,在单击TabOrder图标回到原设计状态。如图25:图25数据窗口d_xscj_shuru的修改属性设计查询某班级某学期全体学生各科成绩的数据窗口创建数据窗口d_xscj_bjcx,显示风格为CrossTab,数据源类型为SQLSelect”,数铜来必F成绩表xscj和视图xsbj。如图26:图26数据窗口d_xscj_grcx设计查询某班级某学期全体学生各科成绩的数据窗口创建数据窗口d_xscj_bjcx,显示风格为CrossTab,数据源类型为SQLSelect”,数铜来必F成绩表xscj和视图xsbj。如图27:
33、图27数据窗口d_xscj_bjxc在Headeer1条中添加2个计算域控件,对应的表达式分别为mbjmc和mxq,3个文本控件,其文本分别为成绩单”、班级”、和学期”.数据窗口的检索参数为mxq和mbjmc,分别对应于学期和班级名称,修改届性取默认值(不允许修改)。设计查询某班级某学期全体学生各科成绩的数据窗口创建数据窗口d_xscj_kccx,显示风格为N_Up”,拦数为2,数据源类型为SQLSelect”,亥据来源于成绩表xscj和视图xsbj.如图28:图28数据窗口d_xsch_kccx在Header条中添加2个计算域控件对应的表达式分别为mbcme,3个文本控件,其文本分别为成绩单
34、”、班级”、和课程”,数据窗口的检索参数为mxq、mbjmc、mkcme,分别对应于学期、班级名称和课程名称,修改届性取默认值(不允许修改)。2)设计访问成绩信息的窗口设计输入成绩的窗口首先创建窗口对象w_xscj_shuru,在窗口上放置1个分组框控件、3个静态文本控件、3个下拉列表框控件、3个命令按钮控件和1个数据窗口控件。如图29:图29输入成绩的窗口各个窗口和控件的事件脚本如下。(1)窗口的open事件脚本如下。dw_1.settransobject(sqlca)intli_xq,li_bjmc,li_kcmc,nstringls_xq,ls_bjmc,ls_kcmcselectcou
35、nt(distinctxq)into:li_xqfrombjkc;declarexqcursorcursorforselectxqfrombjkcgroupbyxq;openxqcursor;forn=1toli_xqfetchnextxqcursorinto:ls_xq;ddlb_1.additem(ls_xq)nextclosexqcursor;生成班级下拉列表框的歹0表项selectcount(distinctbjbh)into:li_bjmcfrombjkc;declarebjmccursorcursorforselectbanji.bjmcfrombjkc,banjiwherebjk
36、c.bjbh=banji.bjbhgroupbybanji.bjmc;openbjmccursor;forn=1toli_bjmcfetchnextbjmccursorinto:ls_bjmc;ddlb_2.additem(ls_bjmc)nextclosebjmccursor;(2) 窗口的closequery事件脚本如下。integerrtdw_1.accepttext()ifdw_1.modifiedcount()=0thenreturn0elsert=messagebox(提示”,”添加修改内容未保存,确实退出吗?,question!,yesno!)ifrt=1thenreturn0e
37、ndifendifreturn1(3) 课程的下拉列表框的getfocus事件脚本如下。intli_kcmc,nstringls_kcmc,ls_xq,ls_bjmcls_xq=ddlb_1.textls_bjmc=ddlb_2.textifnot(ls_xq=orls_bjmc=)thenselectcount(distinctbjkc.kcmc)into:li_kcmcfrombjkc,banjiwhere(bjkc.bjbh=banji.bjbh)and(banji.bjmc=:ls_bjmc)and(bjkc.xq=:ls_xq);declarekcmccursorcursorfors
38、electbjkc.kcmcfrombanji,bjkcwhere(bjkc.bjbh=banji.bjbh)and(banji.bjmc=:ls_bjmc)and(bjkc.xq=:ls_xq)groupbybjkc.kcmc;ddlb_3.reset()openkcmccursor;forn=1toli_kcmcfetchnextkcmccursorinto:ls_kcmc;ddlb_3.additem(ls_kcmc)nextclosekcmccursor;(4) endif确定按钮的clicked事件脚本如下。intli_xh,nstringls_kcmc,ls_xq,ls_bjmc,
39、ls_xhls_xq=ddlb_1.textls_bjmc=ddlb_2.textls_kcmc=ddlb_3.textifls_xq=orls_bjmc=orls_kcmc=thenmessagebox(提示”,选择项不能空!)elseselectcount(distinctxh)into:li_xhfromxsbjwherexsbj.bjmc=:ls_bjmc;declarexhcursorcursorforselectxhfromxsbjwherexsbj.bjmc=:ls_bjmc;openxhcursor;forn=1toli_xhfetchnextxhcursorinto:ls_x
40、h;insertintoxscj(xh,xq,kcmc,cj)values(:ls_xh,:ls_xq,ls_kcmc,null);nextclosexhcursor;dw_1.retrieve(ls_xq,ls_bjmc,ls_kcmc)endif设计查询学生个人成绩窗口查询学生个人成绩的窗口如图30所示。数据窗口控件连接的数据窗口对象为d_xscj_grcx.(1)查询按钮的clicked事件脚本如下dw_1.settransobject(sqlca)ifsle_1.text=orsle_2.text=thenmessagebox(提示,班级学期和课程不能为空)elsedw_1.retri
41、eve(sle_1.text,sle_2.text)cb_2.enabled=trueendif打印按钮的clicked事件脚本如下dw_1.print(true)面按钮的clicked事件脚本如下close(parent)图30查询学生个人成绩的窗口设计查询班级成绩的窗口查询班级成绩的窗口如图31所示。数据窗口控件的dataobject届性为d_xscj_bjcx。此窗口的open事件脚本与输入成绩窗口的open事件脚本相同。打印按钮和退出按钮的clicked事件脚本与d_xscj_grcx中的一样。(1)查询按钮的clicked事件脚本如下dw_1.settransobject(sqlca
42、)ifddplb_1.text=orddplb_2.text=thenmessagebox(提示,班级学期和课程不能为空)elsedw_1.retrieve(ddplb_1.text,ddplb_2.text)cb_2.enabled=trueendif图31查询班级成绩的窗口设计查询课程成绩的窗口查询课程成绩的窗口如图32所示。数据窗口控件的dataobject届性为d_xscj_kccx。此窗口的open事件脚本、“课程”的下拉歹U框的getfocus事件脚本与输入成绩窗口的对应事件脚本相同,打印按钮和退出按钮的clicked事件脚本与查询学生个人成绩窗口中的一样。(1)查询按钮的clicked事件脚本如下dw_1.settransobject(sqlca)ifddplb_1.text=orddplb_2.text=orddplb_3.text=thenmessagebox(提示”,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海市黄埔区2025-2026学年初三下学期4月考语文试题试卷含解析
- 2026年河北省张家口市达标名校初三新课程第三次适应性测试英语试题含解析
- 内蒙古巴彦淖尔市乌拉特前旗2026年初三下学期中考适应性月考(八)英语试题含解析
- 2026届浙江省临安市於潜第一初级中学初三3月第二次周考英语试题含解析
- 生态农业发展推进承诺书(5篇)
- 浙江省嘉兴市嘉善一中等五校2026届初三中考语文试题系列模拟卷(2)含解析
- 契约信用恪守承诺书6篇
- 客户服务投诉处理流程客户反馈处理指南
- 仓库库存管理标准操作模板介绍
- 行业风险评估与防范指导书
- RCEP培训商务部课件
- 2025年斯多特普拉提笔试及答案
- DB43-T 3323-2025 天然沥青改性沥青路面应用技术规范
- 儿童过敏免疫诊疗中心过敏免疫门诊规范化建设专家共识课件
- 2025年医院党支部书记党建工作述职报告
- 大疆创新软件测试工程师晋升答辩含答案
- 2025 机器人售后运维服务报告:远程诊断、备件管理与盈利模式
- GB/T 46595-2025排水泵站一体化设备
- 输电线路工程试验检测项目计划
- 2025年高职汽车电子(汽车电子技术)试题及答案
- 幼儿园黄河介绍
评论
0/150
提交评论