




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学生成绩管理系统程序分析 -刘新元(200708001347) -邵佳威(200708001349)一 系统分析与设计1)系统功能分析系统功能分析阶段的任务就是确定该系统所要解决的问题及其具体要求。学生成绩管理系统需要完成的主要功能如下:(1) 登录信息包括:学生,普通管理员(教师),超级管理员(系统管理员)系统根据不同的用户给予不同的功能。(2) 学生信息:包括查询,添加,删除,和学生信息排序(3) 课程信息:包括查询,添加,删除(4) 成绩信息: 包括成绩查询(按学号或者自己寻找),添加,删除,和学生成绩排序2)系统功能模块分析通过上面各项功能的分析、分类、综合,按照模块化程序设计的要求,得到它的模块结构:(1)系统设置: 它包括密码修改,添加管理员账户,退出系统。 (2)学生信息 :包括学生基本信息查询,学生基本信息修改,学生基本信息输入。学生基本信息排序。(3)课程信息管理 包括课程信息查询修改,课程信息输入。(4)成绩信息管理 包括成绩查询,成绩修改,成绩输入。成绩排序。二、数据库设计和实现1)创建数据库在PowerBuilder开发环境中打开数据库画板,使用ODB ODBC接口建立的数据库,然后建立5个表和1个视图。分别为“c”表、“s”表、“课程”表、“SC”表、“user”表。各表之间的关系如下图1所示:图1 各表的关联关系2) 创建应用对象(1) 创建新的工作空间。(2) 创建应用对象,应用对象名设为“lx”。(3) 打开新的对象画板.为应用对象ly的Open事件编写代码和截图如下/ Profile liudiSQLCA.DBMS = ODBCSQLCA.AutoCommit = FalseSQLCA.DBParm = ConnectString=DSN=liudi;UID=;PWD=CONNECT;if SQLCA.sqlcode0 thenmessagebox(提示,数据库连接失败!)elseopen(w_login)end if执行此应用时,首先链接数据库“xscj”,成功后打开登录窗口。 (4)建立菜单如下所示:三、设计系统管理模块(一)登录界面:登录窗口如图2所示:有三种用户登录:1 超级管理员登录:2普通管理员登录:3学生登录界面图2 登录窗口为登录窗口编写脚本。(1)定义全局变量string user_name,user_pass,user_stype,user_sno 分别存储登录用户的姓名、密码和权限。(2)定义实例变量int dlcs 存储登录时用户输入密码错误的尝试次数,控制在最多3次机会。(3)登录窗口w_login的open事件脚本如下 dlcs 3 初始化变量li_n,限制出错次数为3次。(4)登录按钮cb_1的Clicked事件脚本如下。string ls_username,ls_password,ls_sno,ls_stypels_username=trim(sle_1.text)ls_password=trim(sle_2.text)ls_sno=trim(sle_3.text)ls_stype=trim(ddlb_1.text)if ls_stype=admin or ls_stype=administrator thenSELECT user.user_name,user.user_pass,user.user_no,user.user_stypeINTO :user_name,:user_pass,:user_sno,:user_stypeFROM userWHERE (user.user_name= :ls_username ) AND (user.user_no= :ls_sno ) and (user.user_stype= :ls_stype ) and (user.user_pass= :ls_password );elseSELECT s.user_name,s.user_pass,s.sno,s.user_stypeINTO :user_name,:user_pass,:user_sno,:user_stypeFROM sWHERE (s.user_name= :ls_username ) AND (s.sno= :ls_sno ) and (s.user_stype= :ls_stype ) and (s.user_pass= :ls_password );end if if sqlca.sqlcode=0 then open(w_main) close(w_mm) else dlcs=dlcs - 1 if dlcs0 then messagebox(提示,用户名或密码错误) else messagebox(提示,错误超过3次,自动退出) halt end ifend if (5)取消按钮cb_2的Clicked事件脚本如下.sle_1.text=sle_2.text=sle_3.text= (5)关闭按钮cb_2的Clicked事件脚本如下.close(w_mm)2) 登录后的主窗口如下:初始化主界面:2) 设计密码修改窗口创建密码修改窗口w_rpass,调整其大小,在窗口上放置3个静态文本控件(st_1,st_2,st_3)、2个命令按钮控件(cb_1,cb_2),设计完后如图3所示:图3 密码修改窗口为密码窗口编写脚本(1)提交按钮cb_1的Clicked事件脚本如下。 string ls_passwordif trim(sle_1.text)user_pass thenmessagebox(提示,旧密码错误)elseif trim(sle_2.text)=(sle_3.text) thenls_password=trim(sle_2.text)if user_stype=admin thenUPDATE user SET user_pass = :ls_password WHERE (user.user_name = :user_name ) AND (user.user_pass = :ls_password);else UPDATE s SET s.user_pass = :ls_password WHERE (s.sno = :user_sno ) AND (s.user_pass = :ls_password);end ifIf SQLCA.SQLCode0 ThenMessageBox(连接失败, 不能打开数据库!)elseclose(parent)messagebox(提示,密码修改完成)end ifelsemessagebox(提示,两次密码不相同)end if end if(2)取消按钮cb_2的Clicked事件脚本如下。 Close(parent)1) 设计用户管理的数据窗口和窗口设计数据窗口C表数据窗口:S表数据窗口(管理员):S表数据窗口(学生)用户数据窗口:sc表数据窗口 四、设计班级管理模块 登录时根据用户自动显示相应的数据(管理员):查看学生基本信息时:如果不是管理员(超级管理员也不行)则不能插入,删除,和保存。 如果是管理员则出现如下对话框:为排序添加的一些主要代码:学号:dw_1.setsort(sno a)dw_1.sort()dw_1.retrieve() 性别:dw_1.setsort(sex a)dw_1.sort()dw_1.retrieve() 年龄:dw_1.setsort(sage a)dw_1.sort()dw_1.retrieve()班级:dw_1.setsort(sbj a)dw_1.sort()dw_1.retrieve() 姓名:dw_1.setsort(sname a)dw_1.sort()dw_1.retrieve() 插入:dw_1.Insertrow(0) dw_1.ScrollToRow(dw_1.RowCount()dw_1.SetFocus() 删除:dw_1.deleteRow(0) dw_1.SetFocus()保存:dw_1.Update() /保存数据if sqlca.sqlcode=0 thenMessagebox(提示!,修改成功!)elseMessagebox(警告!,修改不成功!)end if 首行:dw_1.ScrollToRow(1)dw_1.selectrow(0,false)dw_1.selectrow(dw_1.getrow(),true) 上一行:dw_1.ScrollPriorRow() dw_1.selectrow(0,false)dw_1.selectrow(dw_1.getrow(),true)下一行:dw_1.ScrollNextRow() dw_1.selectrow(0,false)dw_1.selectrow(dw_1.getrow(),true) 尾行:dw_1.ScrollToRow(dw_1.RowCount() dw_1.selectrow(0,false)dw_1.selectrow(dw_1.getrow(),true) 用户添加窗口如下所示:如果不是超级管理员就会弹出如下对话框:如果是超级管理员就可以添加用户: 课程信息同理:代码和上面的类似:成绩查询窗口:相应的代码:首先添个三 文本框(sle_1,)sle_2 ,sle_3)和DropDownListBox(ddlb_1)等。首先是初始化窗口:dw_1.settransobject(sqlca)dw_1.retrieve()if user_stypeadmin thencb_5.Enabled=falsecb_6.Enabled=falsecb_7.Enabled=falseend ifint kIf dw_1.ModifiedCount()=0 Then Message.ReturnValue=0 ReturnEnd Ifk=MessageBox(提示,数据被修改了,保存吗?,Question!,YesNoCancel!,1)If k=3 Then Message.ReturnValue=1 ReturnElseIF k=1 Then dw_1.update() End IfMessage.ReturnValue=0 查询按钮的代码如下:/取消所有过滤条件dw_1.setfilter()/精确查询模式程序choose case ddlb_1.text c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 正硅酸乙酯生产建设项目节能评估报告
- 农村饮水安全巩固提升工程建筑工程方案
- 学生中国梦主题演讲稿
- 铝基材料深加项目环境影响报告书
- 离婚协议书范本:财产分配与子女教育权益保障
- 仓储租赁合同签订注意事项-保障仓储安全
- 离婚协议中关于财产分割及债务承担补充协议
- 高端住宅小区物业合同到期延期及社区文化活动协议
- 肉类食品精深加工项目建设工程方案
- 2025年新能源汽车换电模式在高端汽车市场的应用报告
- 《绿色制造普及绿色生产课件教程》
- 舞狮合同协议书
- 机械维修工试题及答案
- GB/T 22107-2025气动方向控制阀切换时间的测量
- 年产30万立方米商砼建设项目环评资料环境影响
- 2025时政试题及答案(100题)
- 财产险考试题题
- 子宫腺肌症的护理常规
- kV输电线路工程竣工验收方案
- 2025年全国大学生海洋知识竞赛试题及答案(共五套)
- 2025年资源共享授权合同
评论
0/150
提交评论