学生成绩管理系统PB课程设计(共14页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《学生成绩管理系统PB课程设计(共14页).doc》由会员分享,可在线阅读,更多相关《学生成绩管理系统PB课程设计(共14页).doc(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上一系统分析与设计1)系统功能分析系统功能分析阶段的任务就是确定该系统所要解决的问题及其具体要求。学生成绩管理系统需要完成的主要功能如下:1.学生信息的输入和存储,包括学生编号、学生名称、所属专业等。2.对已经输入的班级信息的修改、查询。3.学生基本信息的输入和存储、包括学号、姓名、性别、出生日期等。4.学生基本信息的查询。5.每学期初各班所开设课程的输入,包括课程名、学期、学时等。6.各班所开设课程信息的查询。7.学期末输入每个学生的考试成绩。8.查询某个学生。9.查询并打印某班某学期所有学生的各科成绩。10.查询并打印某班某学期某课成绩。2)系统功能模块分析通过上面
2、各项功能的分析、分类、综合,按照模块化程序设计的要求,得到它的模块结构:(1)学生基本信息管理包括学生基本信息查询,学生基本信息输入。(2)课程信息管理包括课程信息查询,课程信息输入。(3)成绩信息管理包括成绩查询,成绩输入。二、数据库设计和实现1)创建数据库在PowerBuilder开发环境中打开数据库画板,使用ODB ODBC接口建立Adaptive Server Anywhere 8.0(ASA 8.0)的数据库,然后建立3个表和1个视图。分别为“课程”表、“成绩”表、“选课”表。各表之间的关系如下图1所示:图1 各表的关联关系2) 创建应用对象(1)创建新的工作空间。(2)创建应用对象
3、,应用对象名设为“ww”。(3)打开新的对象画板.为应用对象app_xscj的Open事件编写代码如下:/ Profile liudiSQLCA.DBMS = ODBCSQLCA.AutoCommit = FalseSQLCA.DBParm = ConnectString=DSN=mydb;UID=;PWD=CONNECT;ifSQLCA.sqlcode0 thenmessagebox(提示,数据库连接失败!)elseopen(w_login)end if执行此应用时,首先链接数据库“ww”,成功后打开登录窗口。三、设计系统管理模块1)设计登录窗口登录窗口如图2所示:图2 登录窗口为登录窗口编
4、写脚本。(1)定义全局变量stringgs_username,gs_password,gs_admin分别存储登录用户的姓名、密码和权限。(2)定义实例变量intli_n存储登录时用户输入密码错误的尝试次数,控制在最多3次机会。(3)登录窗口w_login的open事件脚本如下li_n=3初始化变量li_n,限制出错次数为3次。(4)确定按钮cb_1的Clicked事件脚本如下。stringls_username,ls_passwordls_username=trim(sle_1.text)ls_password=trim(sle_2.text)if ls_username= or ls_pa
5、ssword= thenmessagebox(提示,用户名和密码不能为空)elseSELECT users.name,users.password,users.adminINTO :gs_username,:gs_password,:gs_adminFROM usersWHERE (users.name = :ls_username ) AND (users.password = :ls_password );ifsqlca.sqlcode=0 thenopen(w_main)close(w_login)elseli_n=li_n - 1ifli_n0 thenmessagebox(提示,用户
6、名或密码错误)elsemessagebox(提示,错误超过3次,自动退出)haltend ifend ifend if(5)放弃按钮cb_2的Clicked事件脚本如下.halt四、设计学生基本信息管理模块1)设计访问学生基本信息的数据窗口设计输入学生基本信息的数据窗口创建数据窗口d_jiben_shuru,显示风格为“Freeform”,数据源类型为“Quick Select”,其布局如图15所示:图15 数据窗口d_jiben_shuru数据窗口的d_jiben_shuru生成的SQL Select语句为: SELECT jiben.xh, jiben.xm, jiben.xb, jibe
7、n.csrq, jiben.jtzz, jiben.bjbh FROM jiben 设计修改学生基本信息的数据窗口创建数据窗口d_jiben_xiugai,显示风格为“Grid”,数据源类型为“Quick Select”,其布局如图16所示:图16 数据窗口d_jiben_xiugai数据窗口d_jiben_xiugai生成的SQL Seleect语句为: SELECT jiben.xh, jiben.xm, jiben.xb, jiben.csrq, jiben.jtzz, jiben.bjbh FROM jiben ORDER BY jiben.xh ASC 设计查询学生基本信息的数据窗口
8、创建数据窗口d_jiben_chaxun,显示风格为“Grid”,数据源类型为“SQL Select”,其布局如图17所示:图17 数据窗口d_jiben_chaxun其中,定义3个String型的检索参数变量mxh、mxm、mbj,分别表示学号、姓名、班级,形成带检索参数的数据窗口。2)设计访问学生基本信息的窗口设计输入学生基本信息的窗口通过继承窗口输入窗口w_shuru生成输入学生基本信息窗口w_jiben_shuru,将数据控件dw_1的DataObject属性设置为d_jiben_shuru,将窗口的Title属性改为“录入学生基本信息”,如图18。图18 录入学生基本信息窗口2设计输
9、入学生基本信息的窗口通过继承窗口输入窗口w_xiugai生成修改学生基本信息窗口w_jiben_xiugai, 将数据控件dw_1的DataObject属性设置为d_jiben_xiugai,将窗口的Title属性改为“修改学生基本信息”,如图19:图19 修改学生基本信息窗口3设计查询学生基本信息的窗口要求此窗口中能够根据学生的姓名或学号查询出学生的基本信息,能够根据班级名称查询出该班所有学生的基本信息。窗口如图20所示:图20 查询学生基本信息窗口查询按钮的Open事件脚本如下。dw_1.settransobject(sqlca)if ddplb_1.text= or sle_1.text
10、= thenmessagebox(提示,查询列和查询内容不能为空!)returnend if stringstrstr=trim(sle_1.text)choose case ddplb_1.textcase 学号dw_1.retrieve(str,%,%)case 姓名dw_1.retrieve(%,str,%)case 班级名称dw_1.retrieve(%,%,str)end choose代码中根据查询依据的不同,以不同参数方式检索。五、设计课程管理模块1)设计访问课程信息的数据窗口设计输入课程信息的数据窗口创建数据窗口d_bjkc_shuru,显示风格为“Grid”,数据源类型为“Qu
11、ick Select”,其布局如图20所示:图20 数据窗口d_bjkc_shuru数据窗口d_bjkc_shuru生成的SQL Seleect语句为: SELECT bjkc.bjbh, bjkc.xq, bjkc.kcmc, bjkc.xs, bjkc.jsxm FROM bjkc .设计查询课程信息的数据窗口创建数据窗口d_bjkc_chaxun,显示风格为“Grid”,数据源类型为“Quick Select”,其布局如图21所示。图21 数据窗口d_bjkc_chaxunn其中,定义2个 String型检索参数变量mxq、mbjmc,分别表示学期、班级,形成带检索参数的数据窗口。该数据
12、窗口的修改属性为默认值即“不允许修改”。数据窗口d_bjkc_chaxun生成的SQL Select语句为:SELECT bjkc.kcmc, bjkc.xs, bjkc.jsxm, FROM bjkc , banjiWHERE (banji. bjbh= bjkc. bjbh) AND (bjkc. xq=:mxq) AND(banji . bjmc=:mbjmc)2)设计访问课程信息的窗口设计查询班级开设课程的窗口首先创建一个窗口对象w_bjkc_chaxun,调整大小,在窗口中放置2个静态文本控件(st_1,st_2)、2个下拉列表框控件(ddlb_1,ddlb_2)、1个命令按钮(cb
13、_1)、1个数据窗口控件(dw_1),调整各个控件的位置和大小。如图23所示:(1)窗口w_bjkc_chaxun的open事件脚本如下dw_1.settransobject(sqlca)intli_xq,li_bjmc,nstringls_xq,ls_bjmcselect count(distinct xq)into :li_xq图23 查询班级开设课程的窗口from 课程;declarexqcursor cursor forselect xq from 课程 group by xq;openxqcursor;for n=1 to li_xqfetch next xqcursor into
14、:ls_xq;ddplb_1.additem(ls_xq)nextclosexqcursor;select count(distinct bjmc) into :li_bjmcfrom 班级;declarebjmccursor cursor forselect 班级.bjmcfrom 课程, 班级where 课程.bjbh=班级.bjbh group by 班级.bjmc;openbjmccursor;for n=1 to li_bjmcfetch next bjmccursor into :ls_bjmc;ddplb_2.additem(ls_bjmc)nextclosebjmccursor
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统 PB 课程设计 14
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内