学生成绩信息管理系统实训报告.doc_第1页
学生成绩信息管理系统实训报告.doc_第2页
学生成绩信息管理系统实训报告.doc_第3页
学生成绩信息管理系统实训报告.doc_第4页
学生成绩信息管理系统实训报告.doc_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

题目: 学生成绩管理系统 学校: 郑州航空工业管理学院 专业: 计算机科学与技术 学号: 111096116 姓名: 刘茹茹 完成时间:2011年11月14日目录第一章 引言3第二章 系统分析42.1项目开发背景42.2系统开发的目标52.3项目开发的意义52.4需求分析52.5系统功能分析52.6 可行性分析62.6.1技术可行性62.6.2工具可行性62.6.3经济可行性62.6.4操作可行性72.6开发工具7第三章 系统设计7第四章 系统制作124.1 创建应用对象124.2模块的设计与实现124.3设计系统管理模块124.3.1设计登陆窗口124.3.2设计密码修改窗口154.3.3设计用户管理窗口174.3.4设计菜单204.4设计学生基本信息管理模块214.5设计教师基本信息管理模块284.6设计成绩信息管理模块314.7设计课程信息管理模块324.8系统帮助344.8.2 系统时间如下图4.19所示354.9使用说明及优缺点分析:36第五章 设计心得37第六章 参考文献38第一章 引言 在现代,高科技的飞跃发展,计算机的大量普及,使得人们生活节奏越来越快。因此对教育行业的多元信息进行有效的管理工作,也成为教育行业的重中之重。目前,学校工作繁杂,资料众多,虽然各类管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有已套完整的、统一的系统。为各高校教务工作人员减轻负担,提高工作效率,所以制作了学生成绩管理系统。 学生成绩管理系统依据开发要求主要应用于教育系统,完成对日常的教育工作中学生成绩档案的数字化管理。比较系统的对教务,教学上的各项服务和信息进行管理,使数据管理更现代化、自动化、智能化、人性化。同时,减轻了学院教务人员管理的工作量,缩小开支,提高工作效率和准确率,使其变得更具有条理性,科学性,为教育行业作出了巨大的贡献,也为今天的民办教育在未来市场的竞争力有所提高。学生成绩管理系统适用了全新的成绩管理理念,系统从完善的基础信息管理,和对创建新用户,已创建的成绩数据的录入、修改、浏览、统计等功能操作,基本能够满足个高校教师的需要。第二章 系统分析2.1项目开发背景 在任何高等院校,学生的成绩管理都是学校教务管理的重要环节之一。隋着学校学生人数的增加,学生成绩管理的任务更加繁重,必须借助现代化的管理工具和手段提高学生成绩的管理效率。学生成绩管理系统广泛适用于高校教务管理部门的学生成绩管理,其作用和功能也是学生比较熟悉和容易理解的2.2系统开发的目标 建立学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效率和现代化水平,使学校对学生的成绩能够快速及更准确的录入、修改和查询,更好的掌握各个学生的各科成绩、便于教师的管理。使学生对个人成绩信息进行更快的查询。让老师可以更快更好的掌握学生的学习情况,使学校的教学质量进一步提高。2.3项目开发的意义 现在我国一些院校的学生成绩管理水平普遍不高,有的还停留在纸质基础上,这种管理手段已经不能适应时代的发展,因为它浪费了太多的人力和物力。在当今的信息时代,这种传统的管理方法必然被计算机为基础的信息管理系统所取代。如果本系统能够被学校所采用,将会改变以往靠手工来管理学生成绩的状况,可以树立良好的办学形象,提高工作效率,节省更多的人力和物力。2.4需求分析 随着科学技术的不断提高,计算机科学技术日渐成熟,其强大的功能已为人们深刻认识,它已经进入人类社会的各个领域并发挥着悦来越重要的作用。 现在我国的教育机构对学生成绩管理还普遍停留在纸质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代,这种传统的管理发发必然被计算机为基础的信息管理所取代。 2.5系统功能分析 系统功能分析阶段的任务就是确定该系统所要解决的问题及其具体要求。需要通过与用户的交流和沟通明确用户对系统的功能要求,最终列出系统可以实现的功能有用户确认。分为三种不同的角色:管理员(1) 对学生基本信息录入和存储,包括学号、姓名、性别、出生日期、总学分、备注、地址、电话、密码(原始密码和学号一样)(2) 对已经录入的学生基本信息查询和修改,包括学生成绩的查询但不能修改(3) 对老师基本信息的录入和存储,包括教师号、教师名、性别、职称、老师所授课的课号、年龄等(4) 对老师基本信息的查询和修改(5) 修改自己的密码并可以查看系统时间教师(1) 对已经录入的学生的基本信息的查询单不可修改(2) 学期末录入学生的成绩(必须是对应的自己所授的课)(3) 学生成绩的修改(4) 修改自己的密码和基本信息并保存(教师号不可修改)学生(1) 查询自己某门课程的成绩(2) 修改自己的基本信息并保存加以维护(3) 还可以修改自己的密码以及查询系统的时间2.6 可行性分析 所谓可行行分析就是用最小的待机在尽可能短时间内确定问题是否能够解决,这步工作的主要是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以比较抽象的方式进行系统分析和设计的过程,可行性研究的最根本的任务是对以后的行动方针提出建议,以避免时间、资源、人力和金钱的浪费,推荐较好的解决方案,并且为工程制定一个初步的计划。2.6.1技术可行性 本系统采用PB语言自带的数据库进行数据的管理、操作和维护,用PB进行前台设计、数据的录入、修改、删除、更新、查询、浏览等功能,由于PB强大的数据存储功能,方便快捷的验证功能、使用的灵活,良好的可扩展性,以及广泛的试验应用、充分说明本系统在技术方面的可行性。2.6.2工具可行性 软件方面:信息时代对于软件的应用已不是人们的难题,人们在日常办公中用的计算机操作的系统等都属于软件部分。 硬件方面:计算机普及到今天,人们对于它的拥有已不少见,它的硬件设备完全能够满足人们的需求,而价格也能被人们所接受。2.6.3经济可行性 这是个超小型的管理系统,从投入的人力,财力与物力来将都是非常小的,只要是一台电脑,一台打印机,这个系统就可以建立起来,考虑到学校里面有电脑,现只要购置一台打印机就可以了,从节省人力方面,可以让管理人员从复杂的工作中解脱出来,做更多的工作,可以给教学管理提高一个层次。2.6.4操作可行性 本系统设计清晰,有良好的用户接口,操作简介,符合教务管理的工作需要,并达到操作过程中的直观、方便、使用、安全等要求,因此操作方面具有可行行。2.6开发工具本系统前台和后台均采用了开发工具Power-builder及其自带的数据库。第三章 系统设计1.系统功能模块设计通过对上述各项功能的分析、分类、综合,按照模块化程序设计的要求,得到以下如图2-1功能模块学生信息管理系统系统管理学生基本信息管理教师基本信息管理成绩信息管理登录控制用户管理密码修改学生基本信息维护学生基本信息更新学生基本信息查询成绩录入成绩查询教师基本信息查询教师基本信息更新教师基本信息维护课程信息管理课程信息录入 图2.1系统功能模块2数据库设计与实现数据库在一个管理信息系统中占有非常重要的地位,数据库结构的好坏将直接影响到应用系统的直线效果和数据操作效率以及能否保证数据的一致性、完整性、安全性。1. 数据库设计2. 根据学生成绩管理系统的功能要求,通过分析系统要涉及的相关实体以及要收集、存储和操纵的数据信息,得到如图3.7所示的系统E-R图。根据E-R图得到以下关系模式。学生(学号,姓名,专业名,性别,出生日期,总学分,备注,地址,电话,密码)如图3.1 学生信息表(主键是学号(sno)字段学号(sno)姓名(sname)专业名(smain)性别(sex)出生日期(birthdate)总学分(score)备注(beizhu)地址(add)电话(tele)密码(pwd)数据类型(data type)charcharcharbitdatetinyintvarcharvarcharvarcharvarchar长度(width)101010默认默认5050505050是否为空(null)NoNoYesNoNoYesYesYesYesYes默认(defultNoneNoneNoneNoneNoneNoneNoneNoneNoneNone课程(课程号,课程名,开学学期,学时,学分)如图3.2 课程表(主键是课程号(cno))字段课程号(cno)课程名(cname)开学学期(kaixuedate)学时(xueshi)学分(score)数据类型(data type)charchartinyinttinyinttinyint长度(width)1020默认默认默认是否为空(null)NoNoNoNoYes默认(default)NoneNoneNoneNoneNone成绩(学号,课程号,成绩,学分)如图3.3 成绩表(主键是学号+课程号(sno+cno),外键是学生表的学号(sno)和课程表的课程号(cno))字段学号(sno)课程号(cno)成绩(chengji)学分(score)数据类型(datatype)charcharTinyinttinyint长度(width)1010默认默认是否为空(null)NoNoYesYes默认(default)NoneNoneNoneNone教师(教师号,教师名,性别,职称,课程号,密码,年龄)如图3.4 教师表(主键是教师号(tno),外键是课程表的课程号(cno)字段教师号(tno)教师名(tname)性别(tsex)职称(professor)课程号(cno)密码(pwd)年龄(age)数据类型(datatype)VarcharVarcharVarcharVarchaVarcharVarcharInteger长度(width)101010101010默认是否为空(null)NoNoNoNoNoYesYes默认(default)NoneNoneNoneNoneNoneNoneNone为了系统的使用安全,要建立用户管理,而用户使用权限分为管理员、学生和教师三类,因此需要建立一个存储用户信息的关系用户(用户名,密码,权限)如图3.5用户表(主键是用户名(id)字段用户名(id)密码(password)权限(qx)数据类型(datatype)CharCharChar长度(width)101010是否为空(null)NoNoNo默认(default)NoneNoneNone数据库中一共建了5张表,在数据库窗口画板中可以看到这六张表的关联关系如图3.6所示: 图 3.6成绩学期出生日期学生总学分专业名电话备注性别密码地址学号姓名课程修课课程名学时nn课程号学分教师教授nn教师名教师号年龄密码职称性别成绩完成数据库和表的创建后,可以在数据库画板中项数据库输入部分数据。第四章 系统制作4.1 创建应用对象 完成数据库的设计和系统功能设计后,可以开始各个功能模块的实现。在PowerBuilder中开发应用程序时,就是创建各种对象、为对象设置属性以及编写事件脚本的过程。但不是简单的顺序过程,有时需要返回为前面创建的对象补充脚本。下面开始本实例在PowerBuilder中实现。(1)创建新的工作空间,工作空间文件路径及名称设为“C:Documents and SettingsAdministrator桌面学生信息管理系统学生管理系统.pbw”。(2)创建应用对象,应用对象名设为“studentwindow”,应用库文件路径及名称设为“C:Documents and SettingsAdministrator桌面学生信息管理系统studentwindow.pbl”,目标文件路径及名称设为“C:Documents and SettingsAdministrator桌面学生信息管理系统studentwindow.pbt”.(3)位应用对象studentwindow的Open事件编写代码如下。/连接数据库SQLCA.DBMS = ODBCSQLCA.AutoCommit = FalseSQLCA.DBParm = ConnectString=DSN=mydatasource;UID=;PWD=connect;open(w_login)/打开登录窗口注意:由于登录窗口w_login还没有设计,代码行“open(w_login)/打开登录窗口”先注释掉,在设计好登录窗口时,再去掉本行代码前面的注释符。执行此应用时,首先连接数据库“mydatabase”,成功后打开登录窗口。4.2模块的设计与实现本系统包括登陆模块,系统查询模块,系统管理模块,系统设置模块。其中,登陆模块实现用户管理,系统查询模块实现学生、教师查询信息和成绩信息以及浏览功能,系统管理模块实现录入、修改、删除成绩管理等功能,系统设置模块实现修改密码功能。4.3设计系统管理模块本模块实现用户登录控制,用户自己的密码修改和用户管理,其中用户管理包括修改用户信息、添加新用户、删除用户,只有管理员级用户有此权限。4.3.1设计登陆窗口功能:设置了权限管理,系统可以根据用户输入的用户名和密码识别其权限进入不同的窗口进行各自的操作。登陆界面如图4.1所示图4.1登录窗口1) 创建窗口并设计属性创建登录窗口(w_login),并调整其大小,在窗口上放置三个图片控件(p_1、p_2、p_3 、p_4、)、两个静态文本框控件(st_1、st_2)、两个单行编辑器控件(sle_1、sle_2)、三个命令按钮控件(cb_1、cb_2、cb_3、),各控件的位置和大小参照图4.1调整。其他需要修改的属性见表41,表中未列出的属性保留其默认值。 表4-1登录窗口及其控件的属性对象属性取值W_loginTitle登录WindowTypeResponse!P_1picturenameQQ截图20111024172608.gifP_2picturename图片1.gifP_3picturenamelogin.gifP_4picturename图片2.gifSt_1Text用户名;AlignmentCenter!St_2Text密码:AlignmentCenter!Cb_1Text安全退出Cb_2Text登录Cb_3Text重置Sle_1Text“”Sle_2Text“”passwordTrue2)编写脚本(1) 定义全局变量string ls_username,ls_password,ls_qx分别存储登录用户的用户名、密码和权限(2)【登录】按钮cb_2的clicked事件的脚本如下string pwstring qstring useridls_username=sle_1.textselect password,qxinto :ls_password,:ls_qxfrom userswhere id=:ls_username;if ls_password=sle_2.text thenif ls_qx=1 thenopen(w_studentlogin)w_studentlogin.st_3.text=欢迎+ls_username+学生登陆!else if ls_qx=2 thenopen(w_techerlogin)w_techerlogin.st_3.text=欢迎+ls_username+老师登陆!elseopen(w_adminlogin2)w_adminlogin2.st_1.text=欢迎+ls_username+管理员登陆,您的个人信息如下end ifend ifelsemessagebox(提示,输入的密码不对!请重新输入!)sle_2.text=sle_2.setfocus()end if还为此按钮自定义了U_keydown事件,事件代码如下if keydown(keyenter!) then/如果按了Enter键,则出发Clicked事件this.triggerevent(clicked!)end if(3)【重置】按钮cb_3的clicked的事件脚本如下sle_1.text=sle_2.text=还为此按钮自定义了U_keydown1事件,事件代码如下if keydown(keyenter!) then/如果按了Enter键,则出发Clicked事件this.triggerevent(clicked!)end if(4)【安全退出】按钮cb_1的clicked事件代码如下close(parent)4.3.2设计密码修改窗口密码修改窗口如图4.2所示 图4.2密码修改窗口1)创建窗口并设置属性创建登录窗口(w_mima),并调整其大小,在窗口上放置一个图片控件(p_1、三个静态文本框控件(st_1、st_2、st_3)、三个单行编辑器控件(sle_1、sle_2、sle_3)、两个命令按钮控件(cb_1、cb_2),各控件的位置和大小参照图4.1调整。其他需要修改的属性见表42,表中未列出的属性保留其默认值。表42密码修改对象属性取值W_mimaTitle修改密码WindowtypeResponse!P_1PicturenameQQ截图20111023094902.gifSt_1Text原密码:AlignmentCenter!St_2Text新密码:AlignmentCenter!St_3Text重新输入新密码:AlignmentCenter!Sle_1Text“”Sle_2Text“”Sle_3Text“”Cb_1Text确定修改Cb_2Text放弃修改2)编写脚本(1)【确定修改】按钮cb_1的clicked事件的脚本如下 string pwstring qstring useridls_username=sle_1.textselect password,qxinto :pw,:qfrom userswhere id=:ls_username;if ls_passwordsle_1.text thenmessagebox(提示,输入的旧密码不对!n 请重新输入!)sle_1.text=sle_1.setfocus()else if sle_2.textsle_3.text then messagebox(提示,两次输入的新密码不相同!请重新输入!) sle_3.text= sle_3.setfocus() else update users set password=:sle_2.text where id=:ls_username and password=:ls_password; if sqlca.sqlcode0 then messagebox(提示,密码修改不成功!) else close(parent) messagebox(提示,密码修改完成) end ifend ifend if(2)【重置】按钮cb_2的clicked的事件脚本如下 close(parent)4.3.3设计用户管理窗口用户管理窗口如图4.3所示 图4.3用户管理窗口1)创建数据窗口对象 创建数据窗口“d_yonghuguanli”,显示风格为“Grid”,数据源的类型为“QuickSelect”,布局如图4.4所示。其中列控件“qx”的编辑风格改为“DropDownListBox” ,其中列控件“password”的password属性值设为true,码表如图4.4所示 图4.42)创建窗口并设置属性创建登录窗口(w_adminlogin1),并调整其大小,在窗口上放置一个静态文本框控件(st_1)、一个数据窗口控件(dw_1)、四个命令按钮控件(cb_1、cb_2、cb_3、cb_4),各控件的位置和大小参照图4.3调整。其他需要修改的属性见表43,表中未列出的属性保留其默认值。表4-3用户管理对象属性取值W_adminlogin1Title用户管理windowtypeResponseSt_1Text用户管理AlignmentCenter!BoldtrueitalictruetextcolorFuchsiaDw_1Dataobjectd_yonghuguanliVscrollbartrueCb_1text添加Cb_2text删除Cb_3text保存EnabledfalseCb_4text取消3)编写脚本 (1)用户管理窗口W_adminlogin1的open事件脚本如下。 dw_1.settransobject(sqlca)dw_1.retrieve()(2) 用户管理窗口W_adminlogin1的closequery事件脚本如下。/判断是否有未保存的修改,提醒保存int rtdw_1.accepttext()if dw_1.modifiedcount()=0 and dw_1.modifiedcount()=0 thenreturn 0elsert=messagebox(提示,添加修改内容为保存,确定压迫退出吗?,question!,yesno!)if rt=1 thenreturn 0end ifend ifreturn 1(3)数据窗口控件dw_1的itemchanged的事件脚本如下。 cb_3.enabled=true/激活“保存”按钮(4)【添加】按钮cb_1的clicked事件的脚本如下int row row=dw_1.insertrow(0)dw_1.scrolltorow(row)(5)【删除】按钮cb_2的clicked事件的脚本如下 dw_1.deleterow(0)cb_3.enabled=true(6)【保存】按钮cb_3的clicked事件的脚本如下 If dw_1.update(true,false)=1 thendw_1.resetupdate()commit;cb_3.enabled=falseelse rollback; messagebox(错误,保存数据失败!)end if(7)【取消】按钮cb_4的clicked事件的脚本如下 close(parent)4.3.4设计菜单1、创建菜单对象菜单结构如图4.5所示。菜单对象名为“m_m1”图4.5菜单下面编写各个菜单项的脚本,对于这些代码行,在对应的窗口没有建立之前先注释掉,在对应的窗口建立后再去掉其注释符(1)【窗口管理】菜单下【退出窗口】菜单项的clicked的事件脚本如下。 close(w_adminlogin2)close(w_studentlogin)close(w_techerlogin)(2)【用户管理】菜单的clicked的事件脚本如下。 open(w_adminlogin1)(3)【学生课程管理】菜单下的【课程更新】菜单项clicked的事件脚本如下。 open(w_updatecourse)(4)【学生课程管理】菜单下的【成绩管理】菜单项clicked的事件脚本如下。 open(w_chengjiguanli)(5)【学生信息管理】菜单下的【数据查询】菜单项下得【成绩查询】菜单项的clicked的事件脚本如下。 open(w_searchchenji)(6)【学生信息管理】下的【数据查询】菜单项下得【信息查询】菜单项的clicked的事件脚本如下。 open(w_search_stu_jibenxinxi)(7)【学生信息管理】下的【数据更新】菜单项的clicked的事件脚本如下。 open(w_adminlogin)(8)【教师信息管理】下的【数据查询】菜单项的clicked的事件脚本如下。 open(w_search_teacher_jibenxinxi)(9)【教师信息管理】下的【数据更新】菜单项的clicked的事件脚本如下。 open(w_techerupdate)(10)【修改密码】菜单的clicked的事件脚本如下。 open(w_mami)(11)【系统帮助】下的【系统说明】菜单项的clicked的事件脚本如下。 open(w_systemintroduce)(12)【系统帮助】下的【系统时间】菜单项的clicked的事件脚本如下。 open(w_systemtime)(13)【退出系统】下的clicked的事件脚本如下。 close(w_login)close(w_adminlogin2)close(w_studentlogin)close(w_techerlogin)4.4设计学生基本信息管理模块 本模块实现学生基本信息的查询、更新、维护 4.4.1 学生基本信息查询如图4.6(以管理员身份登录) 图4.61)创建数据窗口对象 创建数据窗口d_search_stu_jibenxinxi,显示风格“Grid”,数据源为“Sql Select”,2)创建窗口并设置属性创建登录窗口(w_search_stu_jibenxinxi),并调整其大小,在窗口上放置两个静态文本框控件(st_1、st_2)、一个数据窗口控件(dw_1)、两个命令按钮控件(cb_1、cb_2),各控件的位置和大小参照图4.6调整。St_3的FaceName为幼圆,textsize=20,textcolor=fuchsia3)编写代码(1)先在窗口的open事件写如下代码 dw_1.settransobject(sqlca)(2)【查询】按钮的clicked的事件代码如下所示 string ls1ls1=trim(sle_1.text)if ls1= then messagebox(提示,请输入数据!)elsedw_1.retrieve(ls1)end ifsle_1.setfocus()(3)【取消】按钮的clicked的事件代码如下所示dw_1.reset()sle_1.text=4.4.2 学生基本信息更新如下图4.7(以管理员身份登录) 1)创建数据窗口对象 创建数据窗口d_updatestu,显示风格“Grid”,数据源为“Sql Select”,2)创建窗口并设置属性创建登录窗口(w_adminlogin),并调整其大小,在窗口上放置一个数据窗口控件(dw_1)、十个命令按钮控件(cb_1、cb_2、cb_3、cb_4、cb_5、cb_6、cb_7、cb_8、cb_9、cb_10),各控件的位置和大小参照图4.7调整。St_1的FaceName为华文行楷,textsize=20,textcolor=linkhover, 其他需要修改的属性见表44,表中未列出的属性保留其默认值。 表44对象属性取值Cb_1Text添加纪录Cb_2Text插入记录Cb_3Text删除纪录Cb_4Text显示纪录Cb_5Text保存Cb_6Text返回Cb_7Text第一条纪录Cb_8Text上一条纪录Cb_9Text下一条纪录Cb_10Text最后一条纪录3)编写代码(1)先在窗口的open事件写如下代码dw_1.settransobject(sqlca)(2)在【添加记录】按钮的clicked事件脚本的代码如下 long rowrow=dw_1.insertrow(0)dw_1.setrow(row)dw_1.scrolltorow(row)dw_1.setfocus()(3)在【插入记录】按钮的clicked事件脚本的代码如下 long rowrow=dw_1.insertrow(dw_1.getrow()dw_1.setrow(row)dw_1.scrolltorow(row)dw_1.setfocus()(4)在【删除记录】按钮的clicked事件脚本的代码如下 dw_1.deleterow(dw_1.getrow()(5)在【显示记录】按钮的clicked事件脚本的代码如下 dw_1.retrieve()(6)在【保存】按钮的clicked事件脚本的代码如下 dw_1.update()if sqlca.sqlcode=0 then messagebox(提示,保存成功!)end if(7)在【返回】按钮的clicked事件脚本的代码如下 close(parent)(8)在【第一条记录】按钮的clicked事件脚本的代码如下 dw_1.scrolltorow(1)dw_1.selectrow(1,true)(9)在【上一条记录】按钮的clicked事件脚本的代码如下 if dw_1.getrow() = 1 then messagebox(提示,已经是第一条!)else dw_1.scrollpriorrow() dw_1.selectrow(dw_1.getrow(),true)end if(10)在【下一条记录】按钮的clicked事件脚本的代码如下 If dw_1.getrow() = dw_1.rowcount() then messagebox(提示,已经是最后一条!)else dw_1.scrollnextrow() dw_1.selectrow(dw_1.getrow(),true)end if(11)在【最后一条记录】按钮的clicked事件脚本的代码如下 dw_1.scrolltorow(dw_1.rowcount()dw_1.selectrow(dw_1.rowcount(),true)4.4.3 学生成绩查询如图4.8(以管理员身份登录)1)创建数据窗口对象 创建数据窗口d_searchchengji,显示风格“Grid”,数据源为“Sql Select”,2)创建窗口并设置属性创建登录窗口(w_searchchengji),并调整其大小,在窗口上放置一个数据窗口控件(dw_1)、两个命令按钮控件(cb_1、cb_2)、两个单行编辑控件(sle_1、sle_2)、两个静态控件(st_1、st_2、st_3)各控件的位置和大小参照图4.8调整。St_3的FaceName为幼圆,textsize=20,textcolor=fuchsia,其他需要修改的属性见表45,表中未列出的属性保留其默认值。表45对象属性取值Dw_1Dataobjectd_searchchengjivscrollbartrueSt_1text学号St_2text课程号St_3text学生成绩查询Cb_1text查询Cb_2text清除图4.83)编写代码(1)先在窗口的open事件写如下代码dw_1.settransobject(sqlca)(2) 【查询】按钮的clicked的事件代码如下所示 string ls1string ls2ls1=trim(sle_1.text)ls2=trim(sle_2.text)if ls1= or ls2= thenmessagebox(提示,请输入完整数据!)elsedw_1.retrieve(ls1,ls2)end ifsle_1.setfocus()(3)【取消】按钮的clicked的事件代码如下所示dw_1.reset()sle_1.text=sle_2.text= 图4.84.4.4 学生基本信息维护和自己的成绩查询如图4.9(以学生身份登录)图4.9图4.91)创建数据窗口对象 创建数据窗口d_stuweihu和d_stulogin1,显示风格分别“freefrom”和“Grid”,数据源为“Sql Select”,其中在数据窗口d_stuweihu的性别行控件的属性设置为下图4.9.1所示2)编写代码(1)先在窗口的open事件写如下代码 m_m1.m_学生信息管理.enabled=falsem_m1.m_学生课程管理.enabled=falsem_m1.m_教师信息管理.enabled=falsem_m1.m_用户管理.enabled=falsetab_1.tabpage_1.dw_1.settransobject(sqlca)tab_1.tabpage_2.dw_2.settransobject(sqlca)tab_1.tabpage_2.dw_2.retrieve(ls_username)4.5设计教师基本信息管理模块本模块实现教师基本信息的查询、更新、维护4.5.1 教师基本信息查询如图4.10(以管理员身份登录)图4.101)创建数据窗口对象 创建数据窗口d_search_teacher_jibenxinxi,显示风格 “Grid”,数据源为“Sql Select”, 2)编写代码(1)先在窗口的open事件写如下代码 dw_1.settransobject(sqlca) 4.5.2 教师基本数据更新如下图4.10(以管理员身份登录)其窗口及其以上的控件和学生数据更新基本一样,代码也基本一样,这里就不再赘述了,请参照学生基本数据更新4.5.3教师基本信息维护、查看某个学生选修了自己的课程如图4.11和4.12(以教师身份登录)图4.11其窗口及其以上的控件和学生数据更新基本一样,代码也基本一样,这里就不再赘述了,请参照学生基本信息维护查看某个学生选修了自己的课程图4.124.6设计成绩信息管理模块本模块实现学生成绩的查询和录入4.6.1 学生成绩查询关于学生成绩的查询在系统管理模块和学生信息管理模块已经讲过,这里就不再赘述4.6.2 学生成绩录入(只有教师有录入成绩的权限)如图4.13所示1)创建数据窗口对象 创建数据窗口d_chengjiguanli2,显示风格 “Grid”,数据源为“Sql Select”, 因为老师只有修改和录入成绩的权限而没有录入和修改学号和姓名的权限,所以在创建数据窗口对象时,要将其列控件“学号”和“课程号”的tab值设置为0,如图4.14所示 图4.13图4.144.7设计课程信息管理模块本模块主要是管理员登陆后堆积课程信息进行更新,为了能让教师可以顺利的录入成绩,管理员还要对学号、姓名以及课程号进行管理4.7.1 课程更新(管理员身份登录)如图4.15所示 图4.15这里的课程更新和前面的学生数据更新和教师数据更新基本一样,也不再赘述了4.7.2 课程管理(管理员身份登录,只能修改学号及课程号)如图4.16图4.161)创建数据窗口对象 创建数据窗口d_chengjiguanli,显示风格 “Grid”,数据源为“Sql Select”, 因为老师只有修改和录入成绩的权限而没有录入和修改学号和姓名的权限,所以在创建数据窗口对象时,要将其列控件“成绩”和“学分”的tab值设置为0,如图4.17所示 图4.174.8系统帮助4.8.1 系统介绍如下图4.18所示4.8.2 系统时间如下图4.19所示图4.19在此窗口的open事件脚本代码如下a=string(dayname(today()if a=Sunday thena=星期日else if a=Saturday then a=星期六 elseif a=Fridaythen a=星期五elseif a=Funday then a=星期四else if a=Wundaythen a=星期三 else if a=Funday then a=星期二 else if a=Mondaythen a=星期一end ifend ifend ifend ifend ifend ifend if/st_1.Text = String(today(), yyyy 年 m 月 d 日 )+ n + a + n +string(now(),hh 点 mm 分 ss 秒)st_1.Text = String(today(), yyyy 年 m 月 d 日 )st_2.text=ast_3.text=string(now(),hh 点 mm 分 ss 秒)timer(1)在窗口的timer事件脚本中下如下代码st_1.Te

温馨提示

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

评论

0/150

提交评论