级:无
吉林农业工程职业技术学院毕
业
论
文
学生成绩管理系统
学生姓名:张建新
指导教师:钱坤
所在学院(系):信息工程系
学科专业:计算机信息管理
吉林农业工程职业技术学院中国·四平2011年5月
1学校代码:中图分类:
学生成绩管理系统
摘
要
对于一所学校来说,如何利用计算机改变每次考试结束后老师们统计大量的学生成绩时的繁重任务?如何消除因时间紧所产生的统计结果错误百出?设计出学生成绩管理系统就是一个很好的解决方法。
本文通过用VB面向对象的编程环境编写学生成绩管理系统,利用软件工程原理,采用生命周期方法学,根据3NF的关系模式设计数据库表,用模块化设计方式将系统的各个功能模块层层分解,设计出系统的模块化结构,并根据系统的具体要求和需要实现的功能,详细地定义了各个模块的具体功能。
开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,实现了学生成绩数据库的创建及学生成绩的输入、浏览、维护和统计,使得系统具有功能强大,界面友好的特点。
在设计学生成绩管理系统过程中,得到了各位老师的指导,在此表示感谢。由于本人水平有限,程序中不足之处在所难免,敬请各位老师批评指正。
关键字:成绩管理,软件工程,vb6.0
Abstract
Inwillitbeinformationagenow,quickening,lifeofspeed,makepeoplemoreandmoretoinformationize,isitdeveloptodigitize,themanagementinformationsystem(MIS)isacollection,transmission,systemstored,processed,maintainedandusedthatbeabletocarryoninformationmadeupofperson,computer,etc.,canreplacealargeamountof,miscellaneousanddonebyhandofthepast.Toaschool,Howutilizecomputerchangeeachexaminationteachercountalargenumberofstudentstrenuoustaskatthescore?Howdispelbecausetimefullofmistakesstatisticsproducedclosely?Designingstudent'sachievementadministrativesystemisaverygoodsolution.Thistext,throughwritingstudent'sachievementadministrativesystemwithvbtarget-orientedprogrammingenvironment,Utilizethesoftprojectprinciple,adoptthecycle
2methodofthelifetostudy,designthedatabaseformaccordingtotherelationmodeof3NF,resolveeachsystematicfunctionmoduleringuponringwithmoduledesign,designsystematicmodulestructure,andaccordingtoconcretetodemandandfunctionthatneedrealizeofsystem,havedefinedtheconcretefunctionofeachmoduleindetail.
Developtworespectsofmaindevelopmentincludingsetting-upandmaintenanceandfrontapplicationprogramofbackstagesupporter'sdatabase,haverealizedtheestablishmentofstudent'sachievementdatabaseandintroductionofstudent'sachievement,hadalookaround,maintainingandcounting,isithavethecharacteristicsthatpowerful,aninterfaceisfriendlysystematicallytomake.
Inthecourseofdesigningstudent'sachievementadministrativesystem,havegottheguidanceofking'sprosperousteacher,expressthankshere.Becauseone'sownlevelislimited,theweakpointisunavoidableintheprocedure,pleaseofferateachermakeacomment.
Keyword:Theachievementismanaged,softproject,vb6.0
3目录
第一章前言·················································································1
1.1开发背景····························································································11.2编程环境的选择··················································································11.3VisualBasic6.0简介········································································11.4MicrosoftAccess的使用····································································4
第二章系统的需求分析································································5
2.1总体需求调查······················································································5
2.1.1系统总需求概述··········································································52.1.2系统目标···················································································52.1.3业务总体流程图··········································································62.2系统功能调查·····················································································6
2.2.1系统登录模块功能·······································································62.2.2系统管理模块功能·······································································72.2.3学生信息管理功能·······································································72.2.4班级信息管理功能·······································································82.2.5课程信息管理功能·······································································82.2.6学生成绩管理功能·······································································82.2.7学生成绩查询功能·······································································8
第三章概要设计···········································································9
3.1系统设计思路·····················································································9
3.1.1界面设计····················································································93.1.2用户登录···················································································93.1.3系统管理···················································································93.1.4基本成信息管理···········································································93.1.5学生成绩管理·············································································93.2系统设计简述·····················································································93.3Access数据库设计概述·····································································10
43.3.1use表····················································································103.3.2student表··············································································103.3.3course表···············································································113.3.4class表·················································································113.3.5chengjibiao表·······································································11
第四章详细设计与实现······························································12
4.1数据库设计与实现············································································124.2建立Access数据库···········································································124.3界面的实现·····················································································13
4.3.1欢迎界面················································································134.3.3主界面···················································································174.3.4用户添加界面··········································································244.3.5修改用户密码界面····································································294.3.6删除用户界面··········································································324.3.7添加学生信息··········································································374.3.8修改/删除学生成绩界面····························································404.3.9学生信息查询界面····································································524.3.10班级信息添加/删除/查询界面···················································554.3.11课程添加、删除、查询界面······················································604.3.12添加学生成绩信息···································································614.3.13修改学生成绩信息···································································684.3.14成绩信息查询·········································································794.3.15关于·····················································································79
第五章结束语···········································································80
5.1论文总结························································································805.2展望未来························································································80
参考文献···················································································80
致
谢··············································································80
5吉林农业工程职业技术学院(论文)第一章前言
1.1开发背景
随着经济全球化、管理现代化的到来,信息化建设已提到议事日程。国家机关、高等院校、参与国家竞争的大中i型企业单位,为了提高现代化管理水平、为了在激烈的市场竞争中获胜,纷纷不同程度的加强信息化建设,如组建自己的局域网、实施适用本单位或本部门的企业级MIS(管理信息系统)项目或ERP(企业资源计划)项目。因此管理系统的开发时十分有必要的。整个系统有适应性,先进性,可操作性。对于一个学校来说,学生成绩管理系统更是不可缺少的,它能更有效的改善学校复杂的操作流程,提高学校的管理水平,实现学校的信息化,现代化。
在我国的各类学校,尤其是高等院校,近些年由于扩招生员,大大增加了学校在管理方面的负担,能否使学校建立良好的管理制度,完备的管理流程,减轻学校的负担,已经成为学校面对的主要问题,因此开发一套学生成绩管理系统已经势在必行。
1.2编程环境的选择
微软公司的VisualBasic6.0是Windows应用程序开发工具,使目前最为广泛的、易学易用的面向对象的开发工具。VisualBasic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。故而,实现本系统VB是一个相对较好的选择。
开发软件是:MicrosoftVisualBasic6.0数据库:Microsoftacces
1.3VisualBasic6.0简介
VisualBasic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。在VisualBasic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。
总的来说,VisualBasic具有以下特点:
1吉林农业工程职业技术学院(论文)1.可视化编程:
用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。VisualBasic提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。VisualBasic自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。
2.面向对象的程序设计
4.0版以后的VisualBasic支持面向对象的程序设计,但它与一般的面向对象的程序设计语言(C++)不完全相同。在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而VisualBasic则是应用面向对象的程序设计方法(OOP),把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,VisualBasic自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。
3.结构化程序设计语言
VisualBasic是在BASIC语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。VisualBasic语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。
VisualBasic是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。在设计VisualBasic程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.EXE),脱离VisualBasic环境,直接在Windows环境下运行。
4.事件驱动编程机制
VisualBasic通过事件来执行对象的操作。一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。例如,命令按钮是一个对象,当用户单击该按钮时,将产生一个“单击“(CLICK)事件,而在产生该事件时将执行一段程序,用来实现指定的操作。在用VisualBasic设计大型应用软件时,不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方
2吉林农业工程职业技术学院(论文)便编程人员,提高效率。
5.访问数据库
VisualBasic具有强大的数据库管理功能,利用数据控件和数据库管理窗口,可以直接建立或处理MicrosoftAccess格式的数据库,并提供了强大的数据存储和检索功能。同时,VisualBasic还能直接编辑和访问其他外部数据库,如dBASE,FoxPro,Paradox等,这些数据库格式都可以用VisualBasic编辑和处理。
VisualBasic提供开放式数据连接,即ODBC功能,可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQLServer,Oracle等。在应用程序中,可以使用结构化查询语言SQL数据标准,直接访问服务器上的数据库,并提供了简单的面向对象的库操作指令和多用户数据库访问的加锁机制和网络数据库的SQL的编程技术,为单机上运行的数据库提供了SQL网络接口,以便在分布式环境中快速而有效地实现客户/服务器(client/server)方案。
6.动态数据交换(DDE)
利用动态数据交换(DynamicDataExchange)技术,可以把一种应用程序中的数据动态地链接到另一种应用程序中,使两种完全不同的应用程序建立起一条动态数据链路。当原始数据变化时,可以自动更新链接的数据。VisualBasic提供了动态数据交换的编程技术,可以在应用程序中与其他Windows应用程序建立动态数据交换,在不同的应用程序之间进行通信。
7.对象的链接与嵌入(OLE)
对象的链接与嵌入(OLE)将每个应用程序都看做是一个对象(object),将不同的对象链接(link)起来,再嵌入(embed)某个应用程序中,从而可以得到具有声音、影像、图像、动画、文字等各种信息的集合式的文件。OLE技术是Microsoft公司对象技术的战略,它把多个应用程序合为一体,将每个应用程序看做是一个对象进行链接和嵌入,是一种应用程序一体化的技术。利用OLE技术,可以方便地建立复合式文档(compounddocument),这种文档由来自多个不同应用程序的对象组成,文档中的每个对象都与原来的应用程序相联系,并可执行与原来应用程序完全相同的操作。
8.动态链接库(DLL)
VisualBasic是一种高级程序设计语言,不具备低级语言的功能,对访问机器硬件的操作不太容易实现。但它可以通过动态链接库技术将C/C++或汇编语言编写的程序加入到VisualBasic应用程序中,可以像调用内部函数一样调用其他语言编写的函数。此外,通过动态链接库,还可以调用Windows应用程序接口(API)函数,实现SDK所具有的功能。
3吉林农业工程职业技术学院(论文)1.4MicrosoftAccess的使用
Access作为Microsoft的office套件产品,目前已经成为世界上最流行的桌面数据库系统。Access与许多优秀的关系数据库一样,可以让你很容易地连接相关的信息而且还对其他的数据库有所补充操作其他资源的资料,包括许多流行的PC数据库程序(如Paradox,MicrosoftFoxpro)和服务器、小型机和大型机上的许多SQL数据库。Aceess与其他数据库开发系统之间有相当显著的区别是:您不用写一行代码,就可以在很短的时间里开发出一个功能强大而且相当专业的数据库应用程序,并且这一愉快的过程是可视的。如果您能给它加上简短的VBA代码,那么您的程序绝不比专业潜心开发的程序差。
在本次设计中,需要建立一个数据库系统,并且在开发中希望建立一个专业的数据库系统,而微软公司开发的Aceess软件能很好的解决这个问题,所以在本系统的开发中,数据库的建立将使用微软公司开发的MicrosoftAceess软件完成。
4吉林农业工程职业技术学院(论文)第二章系统的需求分析
2.1总体需求调查
2.1.1系统总需求概述
“学生成绩管理系统”包括用户登录模块,系统管理模块,学生信息模块,班级信息模块,课程信息模块,学生成绩模块,查询模块。
1.用户登录模块:主要完成对登录用户名和密码进行有效的验证,判断用户名和密码
是否正确及用户所对应的操作权限,当输入的数据合法时,跳到主菜单界面,进行相应的操作。
2.系统管理模块:在这个模块中可以对用户进行添加、修改、删除及系统重新登录
操作
3.学生信息模块:主要完成学生信息的录入、修改、删除、查询等功能。4.班级信息模块:主要完成班级信息的录入、删除和查询功能。5.课程管理模块:主要实现课程的添加、删除、修改、查询功能6.学生成绩模块:主要实现成绩的添加和修改功能
7.查询模块:主要实现对学生成绩的查询功能,分为班级成绩查询,班级单科成绩查询,个人成绩查询三种查询方式。
2.1.2系统目标
采用现有的软件和科学的管理系统开发方案,完成对学生成绩管理的部分功能,实现学生管理系统的开发规范。系统应符合客户的实际需求,并达到操作直观、方便、实用等要求。
等
5吉林农业工程职业技术学院(论文)2.1.3业务总体流程图
该学生成绩管理系统基本流程如下:
数据来源:将在数据库中所见的各表内数据作为数据来源,可在数据库中直接
操作或由用户提交命令进行操作,建议不要在数据库中更改数据。
数据输入:部分数据用户直接输入完成,部分数据从数据库中查询。
数据提交:通过运用SQL语句链接到数据库完成相应的操作。实现书库的更改
2.2系统功能调查
2.2.1系统登录模块功能1.用户名和密码的有效性验证
验证用户名是否存在,密码是否正确,如果正确则进行相应操作,否则提示“用户名或密码错误,请重新输入”。2.验证用户类别和用户权限
根据用户名验证用户类别,判断是高级管理员,普通用户还是只读用户。用户所对应权限如下:
高级管理员:同时具有系统管理、学生成绩管理、学生成绩查询三种权限。普通用户
:只能同时具有系统管理、学生成绩管理、学生成绩查询三种权限中的一种。
只读用户权限分布图
:只具有学生成绩查询权限。
6吉林农业工程职业技术学院(论文)用户管理学生信息管理系统管理班级信息管理课程信息管理系统管理权限添加学生成绩学生成绩管理学生成绩查询学生成绩管理权限班级成绩查学生成绩查询班级单科成绩个人成绩查询学生成绩查询权限2.2.2系统管理模块功能
系统管理包括:添加用户、修改密码、删除用户、重新登录、退出系统
添加用户修改密码系统管理删除用户重新登录退出系统2.2.3学生信息管理功能
学生信息管理包括:添加学生信息、修改学生信息
7吉林农业工程职业技术学院(论文)班级成绩查学生信息管理班级单科成绩2.2.4班级信息管理功能
班级信息管理包括:添加班级信息、删除班级信息、查询班级信息
添加班级信息班级信息管理删除班级信息查询班级信息2.2.5课程信息管理功能
课程信息管理功能:添加课程信息、修改课程信息、删除班级信息、查询课程信息
添加课程信息修改课程信息课程信息管理删除课程信息查询课程信息2.2.6学生成绩管理功能
添加学生成绩学生成绩管理修改学生成绩2.2.7学生成绩查询功能
班级成绩查学生成绩查询班级单科成绩个人成绩查询8吉林农业工程职业技术学院(论文)第三章概要设计
3.1系统设计思路
3.1.1界面设计
本系统采用控件设计与代码结合的方式设计基础界面。在初步设计时,只通过现有控件对窗体进行布局规划,而不涉及程序的内容,待窗体设计完毕后,再进行程序编程,完成界面设计。3.1.2用户登录
用户登录时,将用户信息与Access数据库user表中的数据进行比较,如果存在则判断用户权限并进行相应操作,否则弹出提示信息,提示“用户名或密码错误,请重新输入”并返回登陆界面(登录时主要判断用户名和密码是否正确及用户名所对应的权限信息)。3.1.3系统管理
主要完成用户的建立及用户权限的管理,实现用户的添加、删除及密码的修改,实现优化用户管理的目的。3.1.4基本成信息管理
主要指学生信息、班级信息、课程信息的的管理,在输入学生成绩前必须完成学生信息、班级信息、课程信息及学期信息的添加,并确保数据准确。(由普通用户负责添加)3.1.5学生成绩管理
主要指学生成绩的输入和查询,包括学生承接添加、修改、删除及三种成绩查询(包括班级成绩查询、班级单科成绩查询、个人成绩查询)
3.2系统设计简述
1.由高级管理员建立普通用户,并指定用户所具有的权限。
2.由具有系统管理权限的用户依次向数据库中添加学生信息,班级信息,课程信息,学期及课程信息,并确认信系的准确性,并保存所输入的信息。
3.由具有学生成绩管理权限的用户从数据库中读取学生姓名、班级、学期、课程等相关信息并向学生成绩表中输入学生成绩,之后通过学生成绩查询确认学生成绩信息。
4.由具有学生成绩查询权限的用户查看学生成绩信息,确认学生信息并统计分析各个
9吉林农业工程职业技术学院(论文)班级或个人的学习状况。并打印成绩单。
5.学生具有只读权限,可以看到自己在校期间的所有的学习成绩,了解自己的学习情况。
学生成绩管理系统退出用户登录系统管理普通用户只读用户添加用户修改密码删除用户重新登录退出系统添加学生信息修改学生信息删除学生信息查询学生信息添加班级信息删除班级信息添查询班级信添加课程信息删除课程信息查询班级信息添加学生成绩修改学生成绩删除学生成绩班级成绩查询班级单科查询个人成绩查询3.3Access数据库设计概述
1.该系统数据库使用Access开发完成,通过vb环境实现对数据库信息的增加、删除、改改、查询等相关操作。
2.学生成绩管理系统数据库主要包括:use表,student表,course表,class表,chengjibiao表。3.3.1use表
字段名ZhmmLdDj3.3.2student表
字段名XsbhXsxmXsxbCsrq数据类型Char(10)Char(14)Char(14)Char(14)是否为空NotnullNotnullNotnullNotnull说明学生编号学生姓名学生性别出生日期10数据类型Char(10)Char(14)Char(14)Char(14)是否为空NotnullNotnullNotnullNotnull说明账号密码类别等级吉林农业工程职业技术学院(论文)ZzmmChar(14)Notnull政治面貌RxsjChar(14)Notnull入学时间3.3.3course表
字段名数据类型是否为空说明KcmcChar(10)Notnull课程名称BjmcChar(14)Notnull班级名称XqmcChar(14)Notnull学期名称Rkjs
Char(14)
Notnull
任课教师
3.3.4class表
字段名数据类型是否为空说明BjmcChar(10)Notnull班级名称XbmcChar(14)Notnull系别名称3.3.5chengjibiao表
字段名数据类型是否为空说明XsbhChar(10)Notnull学生编号XsxmChar(14)Notnull学生姓名KcmcChar(14)Notnull课程名称XscjChar(14)Notnull学生成绩BjmcChar(14)Notnull班级名称XqmcChar(14)Notnull学期名称11吉林农业工程职业技术学院(论文)第四章详细设计与实现
根据需求分析、概要设计的结果,采用MicrosoftVisual作为后台数据库实现学生成绩管理系统各个模块功能。Basic6.0作为开发工具,MicrosoftAccess4.1数据库设计与实现
本系统的后他数据库为MicrosoftAccess数据库,具有易操作,易实现、易维护的特点。通过对用户需求的分析,具体实现如下:4.2建立Access数据库
启动Access,建立一个空数据库student.mdb;如下图:
在student数据库中分别建立use表,student表,course表,class表,chengjibiao表具体实现如下图:
Class表
Use表
12吉林农业工程职业技术学院(论文)Student表
Course表
Chengjibiao表
4.3界面的实现
4.3.1欢迎界面
在窗体中显示“欢迎使用学生成绩管理系统”并显示当前的日期和时间,并不断更新当前时间,当单击窗体或显示时间超过1分钟,则跳转到登录界面,欢迎界面如下图:
13吉林农业工程职业技术学院(论文)程序代码如下:
PrivateSubForm_Activate()
DrawWidth=6
Label2.Caption=Mid(Str(Now),1,10)Label3.Caption=Mid(Str(Now),14,8)hyjm.Scale(0,0)-(100,100)
hyjm.Circle(50,20),10,RGB(255,0,0)
hyjm.Circle(50,20),10,RGB(0,0,255),,,2.5hyjm.FillStyle=1
hyjm.Circle(50,20),10,RGB(0,255,0),,,0.4Label2.Caption=Mid(Str(Now),1,10)Label3.Caption=Mid(Str(Now),14,9)EndSub
PrivateSubForm_Click()
denglu.ShowUnloadMeEndSub
PrivateSubLabel1_Click()
denglu.ShowUnloadMeEndSub
PrivateSubTimer1_Timer()
14吉林农业工程职业技术学院(论文)Label2.Caption=Mid(Str(Now),1,10)Label3.Caption=Mid(Str(Now),14,9)EndSub
PrivateSubTimer2_Timer()denglu.ShowUnloadMeEndSub4.3.2登陆界面
用户登录系统的主要方式,要求登陆界面美观、简洁、实用。登陆界面在设计时定义一个公共变量kk用于存放用户的用户类别,用于区别用户的权限。在用户登录时,首先用户输入用户名和密码,单击登录按钮,如果用户名和密码正确则从数据库中读取用户权限信息并赋值给kk,最后显示主菜单,否则弹出对话框,提示“用户名或密码错误,请重组新输入”并返回登录界面。当单击关闭按钮则退出系统。
程序代码如下:PrivateSubnn()
DimmrcAsADODB.Recordset
IfText1.Text=\"\"OrText2.Text=\"\"ThenMsgBox\"请正确的输入账号和密码\"IfText1.Text<>\"\"Thenaa=Text1.TexttxtSQL=\"select*fromuse\"Setmrc=ExecuteSQL(txtSQL)hh=0
'用于标记用户名和密码是否正确,正确1,否则为0
Fori=0Tomrc.RecordCount-1
IfTrim(Text1.Text)=mrc.Fields(0)AndTrim(Text2.Text)=mrc.Fields(1)
Then
15吉林农业工程职业技术学院(论文)kk=mrc.Fields(\"lb\").Valuekk=mrc.Fields(\"dj\").Valuehh=1EndIfmrc.MoveNextNext
Ifhh=0Then
MsgBox\"用户名或密码错误!\vbExclamation+vbOKOnly,Text1.SetFocusText1.SelStart=0
Text1.SelLength=Len(Text1.Text)Text2.Text=\"\"ExitSub
EndIfMDIForm1.ShowUnloadMeEndSub
PrivateSubCommand1_Click()
nnEndSub
PrivateSubCommand2_Click()
UnloadMeEndSub
PrivateSubForm_Activate()
Text1.SetFocusEndSub
PrivateSubText1_Change()
DimmrdAsRecordset
txtSQL=\"select*fromuse\"Setmrd=ExecuteSQL(txtSQL)
\"警告\"16吉林农业工程职业技术学院(论文)Ifmrd.RecordCount=1ThenText2.Text=mrd.Fields(1)EndIfEndSub
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13ThenText2.SetFocusEndIfEndSub
PrivateSubText2_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13ThennnEndSub4.3.3主界面
主界面是该系统中最重要的界面,他不仅用于显示该系统的主要功能,实现其他窗体的调用,还实现了用户权限的区分。该界面通过隐藏和显示菜单来实现用户权限的管理,对不具有的功能进行隐藏。在主界面加载中首先判断kk的值,如果是0则为高级管理员,1为普通用户(具有系统管理权限),2为普通用户(具有学生成绩管理权限),3为普通用户(具有学生成绩查询权限),4为只读用户(只具有个人成绩查询权限),最终能够实现权限控制。在主界面底端会显示用户名,用户名和用户的类别,来区分用户。该界面还添加一张图片作为整个系统的背景,改变了界面单调的问题。
程序代码如下
PrivateSubabout_Click()
xjabout.ShowEndSub
17吉林农业工程职业技术学院(论文)PrivateSubadd_Click()bjxx.Show
bjxx.Frame1.Visible=Truebjxx.Frame2.Visible=FalseEndSub
PrivateSubbanjichaxunyufenxi_Click()bjcjcxyfx.Command3.Visible=False
bjcjcxyfx.MSFlexGrid1.Top=bjcjcxyfx.MSFlexGrid1.Top-bjcjcxyfx.Frame2.Height
bjcjcxyfx.MSFlexGrid1.Height=bjcjcxyfx.MSFlexGrid1.Height+bjcjcxyfx.Frame2.Height
bjcjcxyfx.Frame2.Visible=Falsebjcjcxyfx.andanke.Visible=Falsebjcjcxyfx.anzongfen.Enabled=Falsebjcjcxyfx.bianhao.Enabled=Falsebjcjcxyfx.Show
bjcjcxyfx.Caption=\"班级成绩查询\"EndSub
PrivateSubbanjidankechaxunyufenxi_Click()
bjcjcxyfx.Command1.Visible=Falsebjcjcxyfx.anzongfen.Visible=Falsebjcjcxyfx.andanke.Enabled=Falsebjcjcxyfx.bianhao.Enabled=False
bjcjcxyfx.Caption=\"班级单科成绩查询/分析\"bjcjcxyfx.ShowEndSub
PrivateSubchongxindenglu_Click()
IfMsgBox(\"若重新登录,所有窗体都将关闭!是否重新登录?\_
vbQuestion+vbYesNo+vbDefaultButton2,\"重新登录\")=vbYesThenUnloadMedenglu.Show
18吉林农业工程职业技术学院(论文)EndIfEndSub
PrivateSubdankepaixu_Click()
cjpx.Option1(0).Value=Truecjpx.Option1(1).Value=Falsecjpx.ShowEndSub
PrivateSubcxbjxx_Click()
bjxxcx.ShowEndSub
PrivateSubcxkcxx_Click()
kcxxcx.ShowEndSub
PrivateSubcxxsxx_Click()
xsxxcx.ShowEndSub
PrivateSubdel_Click()
bjxx.Show
bjxx.Frame2.Left=0bjxx.Frame2.Top=0bjxx.Frame1.Visible=Falsebjxx.Frame2.Visible=TrueEndSub
PrivateSubgerenchaxun_Click()
grcjxs.ShowEndSub
PrivateSubMDIForm_Load()
StatusBar1.Panels(3).Text=Format(Now,dddddd)StatusBar1.Panels(2).Text=\"当前操作员:\"&aaStatusBar1.Panels(4).Text=\"当前状态:\"&kk
MDIForm1.xitongguanli.Visible=True
19吉林农业工程职业技术学院(论文)MDIForm1.xsxxgl.Visible=TrueMDIForm1.chengjiguanli.Visible=TrueMDIForm1.chengjichaxunyufenxi.Visible=TrueMDIForm1.about.Visible=TrueMDIForm1.class.Visible=TrueIfcc=\"1\"Then
MDIForm1.xitongguanli.Visible=TrueMDIForm1.kcgl.Visible=TrueMDIForm1.xsxxgl.Visible=True
MDIForm1.chengjiguanli.Visible=FalseMDIForm1.chengjichaxunyufenxi.Visible=FalseMDIForm1.class.Visible=TrueExitSubEndIfIfcc=2Then
MDIForm1.tianjiayonghu.Visible=FalseMDIForm1.shanchuyonghu.Visible=FalseMDIForm1.kcgl.Visible=FalseMDIForm1.xsxxgl.Visible=FalseMDIForm1.chengjiguanli.Visible=TrueMDIForm1.chengjichaxunyufenxi.Visible=TrueMDIForm1.class.Visible=FalseExitSubEndIfIfcc=3Then
MDIForm1.tianjiayonghu.Visible=FalseMDIForm1.shanchuyonghu.Visible=FalseMDIForm1.kcgl.Visible=FalseMDIForm1.xsxxgl.Visible=FalseMDIForm1.chengjiguanli.Visible=FalseMDIForm1.chengjichaxunyufenxi.Visible=True
20吉林农业工程职业技术学院(论文)MDIForm1.class.Visible=FalseExitSubEndIfIfcc=4Then
MDIForm1.tianjiayonghu.Visible=FalseMDIForm1.shanchuyonghu.Visible=FalseMDIForm1.kcgl.Visible=FalseMDIForm1.xsxxgl.Visible=FalseMDIForm1.chengjiguanli.Visible=FalseMDIForm1.chengjichaxunyufenxi.Visible=TrueMDIForm1.banjichaxunyufenxi.Visible=FalseMDIForm1.banjidankechaxunyufenxi.Visible=FalseMDIForm1.class.Visible=FalseExitSubEndIfEndSub
PrivateSubquite_Click()
EndEndSub
PrivateSubsckc_Click()
kcsc.ShowEndSub
PrivateSubscxsxx_Click()
xsxxjbgl.Frame5.Visible=Falsexsxxjbgl.Caption=\"学生成绩信息删除\"xsxxjbgl.Frame6.Left=xsxxjbgl.Frame5.Leftxsxxjbgl.Frame6.Top=xsxxjbgl.Frame5.Topxsxxjbgl.Frame6.Enabled=Falsexsxxjbgl.Frame6.Visible=True
'xsxxjbgl.Width=xsxxjbgl.Width-xsxxjbgl.Frame6.Widthxsxxjbgl.Command5.Visible=False
21吉林农业工程职业技术学院(论文)xsxxjbgl.Command6.Left=xsxxjbgl.Command5.Leftxsxxjbgl.Command6.Top=xsxxjbgl.Command5.Topxsxxjbgl.ShowEndSub
PrivateSubshanchuchengji_Click()
cjxg.Frame2.Visible=Falsecjxg.Caption=\"学生成绩信息删除\"cjxg.Frame3.Top=cjxg.Frame2.Topcjxg.Frame3.Enabled=Falsecjxg.ShowEndSub
PrivateSubshanchuyonghu_Click()
yhsc.ShowEndSub
PrivateSubtianjiachengji_Click()
cjtj.ShowEndSub
PrivateSubtianjiayonghu_Click()
yhtj.ShowEndSub
PrivateSubTimer1_Timer()
StatusBar1.Panels(3).Text=Format(Now,EndSub
PrivateSubtjkc_Click()
kctj.ShowEndSub
PrivateSubtjxsxx_Click()
xsxxtj.ShowEndSub
PrivateSubxgxsxx_Click()
xsxxjbgl.Frame6.Visible=False
dddddd)22吉林农业工程职业技术学院(论文)xsxxjbgl.Frame5.Enabled=Falsexsxxjbgl.Frame5.Visible=Truexsxxjbgl.ShowEndSub
PrivateSubxiugaichengji_Click()
cjxg.Frame2.Enabled=Falsecjxg.Frame3.Visible=Falsecjxg.ShowEndSub
PrivateSubxiugaiyonghu_Click()
yhxg.ShowEndSub
PrivateSubzongfenpaixu_Click()
cjpx.Option1(1).Value=Truecjpx.Option1(0).Value=Falsecjpx.ShowEndSub权限分布图:
高级管理员权限
普通用户权限(系统管理)
23吉林农业工程职业技术学院(论文)普通用户权限(学生成绩管理)
普通用户权限(成绩查询管理)
只读用户权限
4.3.4用户添加界面
该界面主要用于向数据库中添加用户,在文本框中依次输入用户名和密码,在用户类别和用户权限中选择用户所对应的类别和权限,然后单击确定按钮,如果用户名在数据库中不存在且两次输入密码一致,则将用户数据保存到数据库中的use表中,否则提示出错信息。程序代码如下:PrivateSubqq()
24吉林农业工程职业技术学院(论文)IfCheck1(0).Value=1ThenCheck1(1).Enabled=FalseCheck1(2).Enabled=FalseElse
Check1(1).Enabled=TrueCheck1(2).Enabled=TrueExitSubEndIfEndSub
PrivateSubww()
IfCheck1(1).Value=1ThenCheck1(0).Enabled=FalseCheck1(2).Enabled=FalseElse
Check1(0).Enabled=TrueCheck1(2).Enabled=TrueExitSubEndIfEndSub
PrivateSubee()
IfCheck1(2).Value=1ThenCheck1(0).Enabled=FalseCheck1(1).Enabled=FalseElse
Check1(0).Enabled=TrueCheck1(1).Enabled=TrueExitSubEndIfEndSub
PrivateSubCheck1_Click(IndexAsInteger)
SelectCaseIndex
25吉林农业工程职业技术学院(论文)Case0qqCase1wwCase2ee
EndSelectEndSub
PrivateSubCommand1_Click()
IfTrim(Text1(0).Text)=\"\"Then
MsgBox\"用户名不能为空!\vbExclamation+vbOKOnly,\"警告\"Text1(0).SetFocusExitSubEndIf
IfTrim(Text1(1).Text)=\"\"Then
MsgBox\"密码不能为空!\vbExclamation+vbOKOnly,\"警告\"Text1(1).SetFocusExitSubEndIf
IfTrim(Text1(2).Text)=\"\"Then
MsgBox\"确认密码不能为空!\vbExclamation+vbOKOnly,\"警告\"Text1(2).SetFocusExitSubEndIf
IfTrim(Text1(1).Text)<>Trim(Text1(2).Text)Then
MsgBox\"您两次输入的密码不一致,请确认后重新输入!\vbExclamation+vbOKOnly,
警告\"Text1(2).SetFocusExitSubEndIf
DimaaAsInteger
26吉林农业工程职业技术学院(论文)aa=0
IfOption1(1).Value=TrueThenFori=0To2
IfCheck1(i).Value=1Thenaa=1ExitForEndIfNextiIfaa=0Then
MsgBox\"普通用户至少要有一项权限!\vbExclamation+vbOKOnly,ExitSubEndIfEndIf
DimmrcAsADODB.RecordsettxtSQL=\"select*fromuse\"Setmrc=ExecuteSQL(txtSQL)Fori=0Tomrc.RecordCount-1
IfTrim(Text1(0).Text)=mrc.Fields(0)Then
MsgBox\"该用户名已存在!\vbExclamation+vbOKOnly,\"警告\"Text1(0).SetFocusText1(0).SelStart=0
Text1(0).SelLength=Len(Text1(0).Text)ExitSubEndIfmrc.MoveNextNext
txtSQL=\"select*fromuse\"Setmrc=ExecuteSQL(txtSQL)mrc.AddNew
mrc.Fields(0)=Trim(Text1(0).Text)mrc.Fields(1)=Trim(Text1(1).Text)
\"警告\"27吉林农业工程职业技术学院(论文)Fori=0To2
IfOption1(i).Value=TrueThenzz=i:ExitForEndIfNext
mrc.Fields(2)=Option1(zz).Caption
IfOption1(2).Value=TrueThenmrc.Fields(3)=\"4\"IfOption1(1).Value=TrueThenFori=0To2
IfCheck1(i).Value=1Theni=i+1mrc.Fields(3)=iExitForEndIfNextEndIfmrc.Updatemrc.Close
MsgBox\"用户添加成功!\vbExclamation+vbOKOnly,Text1(0).Text=\"\"Text1(1).Text=\"\"Text1(2).Text=\"\"EndSub
PrivateSubOption1_Click(IndexAsInteger)SelectCaseIndex
Case0
Check1(0).Value=1Check1(1).Value=1Check1(2).Value=1Check1(0).Enabled=FalseCheck1(1).Enabled=False
\"提示\"28吉林农业工程职业技术学院(论文)Check1(2).Enabled=FalseCase1
Check1(0).Value=0Check1(1).Value=0Check1(2).Value=0Check1(0).Enabled=TrueCheck1(1).Enabled=TrueCheck1(2).Enabled=TrueCase2
Check1(0).Value=0Check1(1).Value=0Check1(2).Value=1Check1(0).Enabled=FalseCheck1(1).Enabled=FalseCheck1(2).Enabled=False
EndSelectEndSub
PrivateSubText1_KeyPress(IndexAsInteger,KeyAsciiAsInteger)SelectCaseIndex
Case0
IfKeyAscii=13ThenText1(1).SetFocusCase1
IfKeyAscii=13ThenText1(2).SetFocus
EndSelectEndSub
4.3.5修改用户密码界面
该界面对所有用户可用,用于用户修改自己的密码,界面设计简单实用,修改前需要有输入密码才能修改,否则不允许用户修改。
29吉林农业工程职业技术学院(论文)程序代码如下:
PrivateSubCommand1_Click()DimmrcAsADODB.RecordsetDimtxtSQLAsStringDimMsgTextAsStringIfText1(0).Text=\"\"Then
MsgBox\"用户名不能为空!\vbExclamation+vbOKOnly,\"警告\"Text1(0).SetFocusExitSubEndIf
IfText1(1).Text=\"\"Then
MsgBox\"密码不能为空!\vbExclamation+vbOKOnly,\"警告\"Text1(1).SetFocusExitSubEndIf
IfText1(2).Text=\"\"Then
MsgBox\"新的确密码不能为空!\vbExclamation+vbOKOnly,\"警告\"Text1(2).SetFocusExitSubEndIf
IfText1(3).Text=\"\"Then
MsgBox\"确认密码不能为空!\vbExclamation+vbOKOnly,\"警告\"Text1(3).SetFocusExitSubEndIf
30吉林农业工程职业技术学院(论文)IfText1(2).Text<>Text1(3).TextThen
MsgBox\"两次输入的密码不一致,请重新输入!\vbExclamation+vbOKOnly,\"警告\"Text1(2).Text=\"\"Text1(3).Text=\"\"Text1(2).SetFocusExitSubEndIf
txtSQL=\"select*fromusewherezh='\"&Trim(Text1(0))&\"'andmm='\"&Trim(Text1(1))&\"'\"
Setmrc=ExecuteSQL(txtSQL)Ifmrc.EOF=FalseThen
ss=mrc.Fields(2).Valuekk=mrc.Fields(3).Value
txtSQL=\"deletefromusewherezh='\"&Trim(Text1(0))&\"'\"Else
MsgBox\"用户密码输入错误!\vbOKOnly,\"警告\"Text1(1).SetFocusExitSubEndIf
Setmrc=ExecuteSQL(txtSQL)txtSQL=\"select*fromuse\"Setmrc=ExecuteSQL(txtSQL)mrc.AddNew
mrc.Fields(0)=Trim(Text1(0))mrc.Fields(1)=Trim(Text1(2))mrc.Fields(2)=ssmrc.Fields(3).Value=kkmrc.Updatemrc.CloseFori=0To3
Text1(i)=\"\"
31'ss为变量=权限
吉林农业工程职业技术学院(论文)Next
MsgBox\"用户信息修改成功!\vbOKOnly,\"提示\"UnloadMeEndSub
PrivateSubCommand2_Click()UnloadMeEndSub
PrivateSubForm_Activate()Text1(0).SetFocusEndSub
PrivateSubText1_KeyPress(IndexAsInteger,KeyAsciiAsInteger)SelectCaseIndex、
Case0
IfKeyAscii=13ThenText1(1).SetFocusCase1
IfKeyAscii=13ThenText1(2).SetFocusCase2
IfKeyAscii=13ThenText1(3).SetFocus
EndSelectEndSub
4.3.6删除用户界面
该界面只有高级管理员和系统管理员具有该权限。在此处可以看到所有用户的权限,用户可以单击左侧的列表框选择用户,也可以通过查询来选择用户。单击删除按钮则删除当前用户,admin用户为系统默认用户,不允许删除,在删除时提示“默认用户,不允许删除”。
32吉林农业工程职业技术学院(论文)程序代码如下:DimTempAsStringOptionExplicit'标示是否能关闭DimmbCloseAsBooleanSubchaxun()
DimmrcAsADODB.RecordsetDimtxtSQLAsStringDimMsgTextAsString
txtSQL=\"select*fromusewherezh='\"&Trim(Text1.Text)&\"'\"Setmrc=ExecuteSQL(txtSQL)Ifmrc.EOF=FalseThen
Text2.Text=mrc.Fields(\"zh\")Text3.Text=mrc.Fields(\"mm\")Text4.Text=mrc.Fields(\"lb\")Else
MsgBox\"该用户不存在,请重新输入\vbExclamation+vbOKOnly,\"提示\"Text1.Text=\"\"EndIfEndSub
subRefreshBinding()
33吉林农业工程职业技术学院(论文)OnErrorResumeNextWithDataEnv.rsrssql
IfDataEnv.rsrssql.BOFThen
''如果不存在任何记录,则清空所有的绑定的内容Text1.Text=\"\"Text2.Text=\"\"Text3.Text=\"\"Text4.Text=\"\"
Else''否则和相应的字段进行绑定Text1.Text=.Fields(0)Text2.Text=.Fields(0)Text3.Text=.Fields(1)Text4.Text=.Fields(2)EndIfEndWithEndSub
SubRefreshGrid()
DataGrid1.DataMember=\"\"DataGrid1.RefreshDataEnv.rsrssql.RequeryDataGrid1.DataMember=\"resql\"DataGrid1.Refresh
'刷新各个绑定控件EndSub
SubSeekStudent(sSerialAsString)IfNot(DataEnv.rsrssql.EOF)ThenDimTempAsString
Temp=\"zh=\"&\"'\"&sSerial&\"'\"DataEnv.rsrssql.MoveFirstDataEnv.rsrssql.FindTemp
34吉林农业工程职业技术学院(论文)''刷新所绑定的控件CallRefreshBindingEndIfEndSub
PrivateSubCommand3_Click()
UnloadMeEndSub
PrivateSubCommand1_Click()
chaxunEndSub
PrivateSubCommand2_Click()
IfMsgBox(\"要删除记录?\vbYesNo+vbQuestion+vbDefaultButton2,\"确认\")=vbYesThen
IfText1.Text=\"admin\"Then
MsgBox\"默认用户不允许删除!\vbExclamation+vbOKOnly,\"警告\"ExitSubEndIf
'通过在DataEnv.Con中执行SQL命令,来删除记录
DataEnv.Con.Execute\"deletefromusewherezh='\"&Text1.Text&\"'\"DataGrid1.DataMember=\"\"DataGrid1.RefreshDataEnv.rsrssql.RequeryDataGrid1.DataMember=\"rssql\"DataGrid1.Refresh
MsgBox\"已经成功删除该用户\vbExclamation+vbOKOnly,\"提示\"EndIfEndSub
PrivateSubDataGrid1_Change()IfDataGrid1.ApproxCount>0Then
CallSeekStudent(DataGrid1.Columns(0).CellText(DataGrid1.Bookmark))
35吉林农业工程职业技术学院(论文)EndIfEndSub
PrivateSubDataGrid1_RowColChange(LastRowAsVariant,ByValLastColAsInteger)'当前行改变,则动态改变所要显示的记录IfLastRow<>DataGrid1.BookmarkThenIfDataGrid1.ApproxCount>0Then
CallSeekStudent(DataGrid1.Columns(0).CellText(DataGrid1.Bookmark))EndIfEndIfEndSub
PrivateSubForm_Activate()
DataGrid1.DataMember=\"\"DataGrid1.RefreshDataEnv.rsrssql.RequeryDataGrid1.DataMember=\"rssql\"DataGrid1.RefreshEndSub
PrivateSubForm_Load()DimmrcAsADODB.RecordsetDimtxtSQLAsString
txtSQL=\"select*fromuse\"Setmrc=ExecuteSQL(txtSQL)Text1.Text=mrc.Fields(0)chaxunEndSub
PrivateSubText1_Change()Text2.Text=\"\"Text3.Text=\"\"Text4.Text=\"\"EndSub
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
36吉林农业工程职业技术学院(论文)IfKeyAscii=13ThenchaxunEndSub
4.3.7添加学生信息
该界面主要是向student表中添加学生信息,依次向文本框中添加信息,系别名称和班级名称可以从下拉列表框中选择,如果所要要输入班级信息不存在,则可以直接在下拉列表框中输入,也可以在添加班级信息界面添加,单击添加按钮则判断输入信息是否有误,如果输入信息完整且准确则向student表中添加数据,否则提示出错信息。添加完毕后,下次添加时新添加的系别名称和班级名称将在下拉列表框中显示出来,不用反复添加。如果单击重置按钮则清空当前所有文本框中的数据。单击关闭按钮则关闭当前窗体。
程序代码如下:Subaa2()
OnErrorResumeNextSetrsDep=DataEnv.rsrsxb
'从class表中读取数据,填充combo2复合框到中rsDep.OpenCombo3.ClearWhileNotrsDep.EOF
Combo3.AddItemrsDep(\"xbmc\")rsDep.MoveNextWend
Combo3.ListIndex=0rsDep.Close
37吉林农业工程职业技术学院(论文)EndSub
PrivateSubCombo3_Click()
DimredeteAsNewADODB.RecordsetDimstrsQl
Setredete=DataEnv.rsclass
'根据所选的系的不同,采用不同的SQL语句
strsQl=\"selectbjmcfromclasswherexbmc='\"&Trim(Combo3.Text)&\"'\"redete.OpenstrsQl,DataEnv.Con'将所查到的retede中的内容来填充combo4Combo4.ClearWhileNotredete.EOF
Combo4.AddItemredete(\"bjmc\")redete.MoveNextWend
Combo4.ListIndex=0redete.CloseEndSub
PrivateSubCommand1_Click()
IfTrim(Text1.Text)=\"\"OrTrim(Text2.Text)=\"\"Then
MsgBox\"请将信息补充完整!\vbExclamation+vbOKOnly,\"警告\"Text1.SetFocusExitSubEndIf
DimoraAsADODB.RecordsettxtSQL=\"select*fromclass\"Setora=ExecuteSQL(txtSQL)Fori=0Toora.RecordCount-1
IfTrim(Text1.Text)=ora.Fields(0)ThenMsgBox\"
该班级名称已存在!\vbExclamation+vbOKOnly,\"警告\"
Text1.SetFocusText1.SelStart=0
38吉林农业工程职业技术学院(论文)Text1.SelLength=Len(Text1.Text)ExitSubEndIfora.MoveNextNext
txtSQL=\"select*fromclass\"Setora=ExecuteSQL(txtSQL)ora.AddNew
ora.Fields(0)=Trim(Text1.Text)ora.Fields(1)=Trim(Text2.Text)ora.Updateora.Close
MsgBox\"班级添加成功!\vbExclamation+vbOKOnly,\"提示\"Text1.Text=\"\"Text2.Text=\"\"
aa2
EndSub
PrivateSubCommand2_Click()
DimorbAsRecordset
IfCombo3.Text=\"\"OrCombo4.Text=\"\"ThenMsgBox\"请先选择要删除的信息\"ExitSubEndIf
txtSQL=\"select*fromstudentwherebjmc='\"&Trim(Combo4.Text)&\"'\"Setorb=ExecuteSQL(txtSQL)Iforb.EOF=TrueThen
txtSQL=\"deletefromclasswherebjmc='\"&Trim(Combo4.Text)&\"'\"Setorb=ExecuteSQL(txtSQL)
txtSQL=\"select*fromclasswherebjmc='\"&Trim(Combo4.Text)&\"'\"Setorb=ExecuteSQL(txtSQL)Iforb.EOF=FalseThen
39吉林农业工程职业技术学院(论文)Else
Combo3.Text=\"\"Combo4.Text=\"\"Combo3.ClearCombo4.Clear
MsgBox\"学生课程删除成功!\vbOKOnly,\"提示\"EndIfElse
MsgBox\"该班级存在学生信息,不允许删除\,\"警告\"Combo3.Text=\"\"Combo4.Text=\"\"ExitSubEndIfEndSub
PrivateSubForm_Load()
aa2EndSub
4.3.8修改/删除学生成绩界面
修改和删除界面使用同一窗体,通过format的visible属性实现切换。
程序代码如下:
DimddAsString,ssAsStringSubcx2()
40吉林农业工程职业技术学院(论文)DimwraAsRecordset
IfCombo3.Text=\"\"OrCombo1.Text=\"请选择\"Then
MsgBox\"请选择你要查询的系名称\vbExclamation+vbOKOnly,\"警告\"ExitSubEndIf
IfCombo4.Text=\"\"OrCombo2.Text=\"请选择\"ThenMsgBox\"请选择你要查询的班级
名称\vbExclamation+vbOKOnly,\"警告\"ExitSubEndIf
txtSQL=\"select*fromstudentwherebjmc='\"&Trim(Combo4.Text)&\"'\"
Setwra=ExecuteSQL(txtSQL)Ifwra.EOF=TrueThen
MsgBox\"你所查询的信息不存在\vbExclamation+vbOKOnly,\"警告\"ExitSubElse
Rem:将结果显示在网格中WithMSFlexGrid1
.Rows=wra.RecordCount+1.Cols=7.Row=0.Col=0
.Text=\"学生编号\".Col=1
.Text=\"学生姓名\".Col=2.Text=\"性别\".Col=3
.Text=\"出生日期\".Col=4
.Text=\"政治面貌\".Col=5
41吉林农业工程职业技术学院(论文).Text=\"入学时间\".Col=6
.Text=\"班级名称Fori=1Towra.RecordCount
.Row=iForj=0To6
.Col=j
.Text=wra.Fields(j)Next
wra.MoveNextNextEndWithEndIf
dd=Combo4.Text
MSFlexGrid1.Enabled=TrueEndSubSubaa2()
OnErrorResumeNext
SetrsDep=DataEnv.rsrsxbrsDep.OpenCombo3.Clear
Combo3.ItemData(0)=0WhileNotrsDep.EOF
Combo3.AddItemrsDep(\"xbmc\")rsDep.MoveNextWend
Combo3.ListIndex=0rsDep.CloseEndSubSubaa3()
WithMSFlexGrid1
42吉林农业工程职业技术学院(论文).Rows=1.Cols=7.Row=0.Col=0
.Text=\"学生编号\".Col=1
.Text=\"学生姓名\".Col=2.Text=\"性别\".Col=3
.Text=\"出生日期\".Col=4
.Text=\"政治面貌\".Col=5
.Text=\"入学时间\".Col=6
.Text=\"班级名称\"
EndWithEndSubSubcx1()
DimwraAsRecordset,wrbAsRecordsetIfText1.Text=\"\"Then
MsgBox\"请输入你要查询的学生编号\vbExclamation+vbOKOnly,\"警告\"ExitSubEndIf
txtSQL=\"select*fromstudentSetwra=ExecuteSQL(txtSQL)Ifwra.EOF=TrueThen
MsgBox\"你所查询的信息不存在或输入错误,请重新输入\vbExclamation+vbOKOnly,\"警告\"ExitSub
43wherexsbh='\"&Trim(Text1.Text)&\"'\"
吉林农业工程职业技术学院(论文)Else
Rem:将结果显示在网格中WithMSFlexGrid1
.Rows=2.Cols=7.Row=0.Col=0
.Text=\"学生编号\".Col=1
.Text=\"学生姓名\".Col=2.Text=\"性别\".Col=3
.Text=\"出生日期\".Col=4
.Text=\"政治面貌\".Col=5
.Text=\"入学时间\".Col=6
.Text=\"班级名称\".Row=1Fori=0To6
.Col=i
.Text=wra.Fields(i)Next
EndWith
Rem:将数据显示在控件中Text2.Text=wra.Fields(0)Text6.Text=wra.Fields(0)Text3.Text=wra.Fields(1)Text7.Text=wra.Fields(1)
44吉林农业工程职业技术学院(论文)Combo5.Text=wra.Fields(2)Combo7.Text=wra.Fields(2)Text4.Text=wra.Fields(3)Text8.Text=wra.Fields(3)Combo6.Text=wra.Fields(4)Combo8.Text=wra.Fields(4)Text5.Text=wra.Fields(5)Text9.Text=wra.Fields(5)dd=wra.Fields(6)
txtSQL=\"select*fromclasswherebjmc='\"&Trim(dd)&\"'\"Setwrb=ExecuteSQL(txtSQL)ss=wrb.Fields(1)EndIfEndSub
PrivateSubCombo3_Click()MSFlexGrid1.Enabled=FalseCallaa3
DimredeteAsNewADODB.RecordsetDimstrsQl
Setredete=DataEnv.rsclass
'根据所选的系的不同,采用不同的SQL语句
strsQl=\"selectbjmcfromclasswherexbmc='\"&Trim(Combo3.Text)&\"'\"redete.OpenstrsQl,DataEnv.ConCombo4.ClearWhileNotredete.EOF
Combo4.AddItemredete(\"bjmc\")redete.MoveNextWend
Combo4.ListIndex=0redete.CloseEndSub
45吉林农业工程职业技术学院(论文)PrivateSubCombo4_Click()MSFlexGrid1.Enabled=FalseCallaa3EndSub
PrivateSubCommand1_Click()Callcx1
Frame5.Enabled=TrueCommand6.Enabled=TrueEndSub
PrivateSubCommand2_Click()Callcx2EndSub
PrivateSubCommand4_Click()UnloadMeEndSub
PrivateSubCommand5_Click()
DimpraAsRecordset,prbAsRecordset,prcAsRecordsetIfText2.Text=\"\"Then
MsgBox\"请先查询要修改的学生信息\vbExclamation+vbOKOnly,\"警告\"ExitSubEndIf
nn=MsgBox(\"你真的要保存该学生信息的修改吗\1,\"警告\")Ifnn=2ThenExitSub
txtSQL=\"deletefromstudentwherexsbh='\"&Trim(Text2.Text)&\"'\"Setpra=ExecuteSQL(txtSQL)txtSQL=\"select*fromstudent\"Setprb=ExecuteSQL(txtSQL)
prb.AddNew
prb.Fields(0)=Trim(Text2.Text)prb.Fields(1)=Trim(Text3.Text)prb.Fields(2)=Trim(Combo5.Text)
46吉林农业工程职业技术学院(论文)prb.Fields(3)=Trim(Text4.Text)prb.Fields(4)=Trim(Combo6.Text)prb.Fields(5)=Trim(Text5.Text)prb.Fields(6)=Trim(dd)prb.Updateprb.Close
Callaa3
MSFlexGrid1.RefreshMSFlexGrid1.Enabled=TrueText2.Text=\"\"Text3.Text=\"\"Text4.Text=\"\"Text5.Text=\"\"Combo5.Text=\"\"Combo6.Text=\"\"Text1.Text=\"\"MSFlexGrid1.Refresh
MsgBox\"学生信息修改成功\vbExclamation+vbOKOnly,\"警告\"EndSub
PrivateSubCommand6_Click()
DimqraAsRecordset,qrbAsRecordsetDimwraAsRecordsetIfText6.Text=\"\"Then
MsgBox\"请先查找你要删除的学生信息\vbExclamation+vbOKOnly,\"警告\"ExitSubEndIf
Rem:将结果显示在网格中
nn=MsgBox(\"你真的要删除该学生信息吗\1,\"警告\")Ifnn=2ThenExitSubtxtSQL=\"deletefromstudentSetqra=ExecuteSQL(txtSQL)
47wherexsbh='\"&Trim(Text6.Text)&\"'\"'学生表
吉林农业工程职业技术学院(论文)txtSQL=\"deletefromchengjibiaowherexsbh='\"&Trim(Text6.Text)&\"'\"'成绩表Setqrb=ExecuteSQL(txtSQL)Callaa3
MSFlexGrid1.Enabled=TrueText6.Text=\"\"Text7.Text=\"\"Text8.Text=\"\"Text9.Text=\"\"Combo7.Text=\"\"Combo8.Text=\"\"Text1.Text=\"\"MSFlexGrid1.Refresh
MsgBox\"学生成绩已经成功删除\vbExclamation+vbOKOnly,\"提示\"EndSub
PrivateSubCommand8_Click()
DimqraAsRecordset,qrbAsRecordsettxtSQL=\"deletefromstudentSetqra=ExecuteSQL(txtSQL)
txtSQL=\"deletefromchengjibiaowherexsbh='\"&Trim(Text2.Text)&\"'\"'成绩表Setqrb=ExecuteSQL(txtSQL)Callaa3
DimwraAsRecordset
IfCombo3.Text=\"\"OrCombo3.Text=\"请选择\"Then
MsgBox\"请选择你要查询的系名称\vbExclamation+vbOKOnly,\"警告\"ExitSubEndIf
IfCombo4.Text=\"\"OrCombo4.Text=\"请选择\"Then
MsgBox\"请选择你要查询的班级名称\vbExclamation+vbOKOnly,\"警告\"ExitSubEndIf
txtSQL=\"select*fromstudent
wherebjmc='\"&Trim(Combo4.Text)&\"'\"
48wherexsbh='\"&Trim(Text2.Text)&\"'\"'学生表
吉林农业工程职业技术学院(论文)Setwra=ExecuteSQL(txtSQL)Ifwra.EOF=TrueThenText2.Text=\"\"Text3.Text=\"\"Text4.Text=\"\"Text5.Text=\"\"Combo5.Text=\"\"Combo6.Text=\"\"MSFlexGrid1.RefreshExitSubElse
Rem:将结果显示在网格中WithMSFlexGrid1
.Rows=wra.RecordCount+1.Cols=7.Row=0.Col=0
.Text=\"学生编号\".Col=1
.Text=\"学生姓名\".Col=2.Text=\"性别\".Col=3
.Text=\"出生日期\".Col=4
.Text=\"政治面貌\".Col=5
.Text=\"入学时间\".Col=6
.Text=\"班级名称\"Fori=1Towra.RecordCount
49吉林农业工程职业技术学院(论文).Row=iForj=0To6
.Col=j
.Text=wra.Fields(j)Next
wra.MoveNextNextEndWithEndIf
MSFlexGrid1.Enabled=TrueText2.Text=\"\"Text3.Text=\"\"Text4.Text=\"\"Text5.Text=\"\"Combo5.Text=\"\"Combo6.Text=\"\"MSFlexGrid1.Refresh
MsgBox\"学生成绩已经成功删除\vbExclamation+vbOKOnly,EndSub
PrivateSubForm_Load()Callaa2Callaa3EndSub
PrivateSubMSFlexGrid1_Click()Rem:将数据显示在控件中DimwrbAsRecordsetWithMSFlexGrid1
If.Rows>1Then.Row=.RowSel.Col=0
Text2.Text=.Text
\"提示\"50吉林农业工程职业技术学院(论文)Text6.Text=.Text.Col=1
Text3.Text=.TextText7.Text=.Text.Col=2
Combo5.Text=.TextCombo7.Text=.Text.Col=3
Text4.Text=.TextText8.Text=.Text.Col=4
Combo6.Text=.TextCombo8.Text=.Text.Col=5
Text5.Text=.TextText9.Text=.TextEndIfEndWith
Command5.Enabled=TrueFrame5.Enabled=TrueEndSub
PrivateSubText1_Change()Callaa3EndSub
PrivateSubText1_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13ThenCallcx1EndIfEndSub
PrivateSubText5_KeyPress(KeyAsciiAsInteger)IfKeyAscii>47AndKeyAscii<58OrKeyAscii=8Then
51吉林农业工程职业技术学院(论文)Else
KeyAscii=0EndIfEndSub
4.3.9学生信息查询界面
界面包括四中查询方式,分别为查询全部,按班级查询,按学号查询,按姓名查询。并将查询结果显示在列表框中。
程序代码设计如下:
PrivateSubcmdCancel_Click()
UnloadMeEndSub
PrivateSubcmdOK_Click()
DimrsAsADODB.RecordsetDimiAsIntegerDimjAsInteger
'如果选择的是查询全部,进行下面的处理Ifoptchoice(0).ValueThen
txtSQL=\"select*fromstudent\"EndIf
'选择的是按班级查询Ifoptchoice(1).ValueThen
52吉林农业工程职业技术学院(论文)txtSQL=\"select*fromstudentwherebjmc='\"&cboclass.Text&\"'\"EndIf
'选择的是按学号查询Ifoptchoice(2).ValueThen
IftxtNo.Text=\"\"Then
MsgBox\"请输入要查询的学号信息!!\"ExitSubElse
txtSQL=\"select*fromstudentwherexsbh='\"&txtNo.Text&\"'\"EndIfEndIf
'选择的是按姓名查询Ifoptchoice(3).ValueThen
IftxtName.Text=\"\"Then
MsgBox\"请输入要查询的学生姓名!!\"ExitSubElse
txtSQL=\"select*fromstudentwherexsxm='\"&txtName.Text&\"'\"EndIfEndIf
Setrs=ExecuteSQL(txtSQL)Ifrs.EOF=TrueThen
MsgBox\"你所查询的信息不存在\vbExclamation+vbOKOnly,\"警告\"ExitSubElse
Rem:将结果显示在网格中WithMSFlexGrid1
.Rows=rs.RecordCount+1.Cols=7.Row=0.Col=0
53吉林农业工程职业技术学院(论文).Text=\"学生编号\".Col=1
.Text=\"学生姓名\".Col=2.Text=\"性别\".Col=3
.Text=\"出生日期\".Col=4
.Text=\"政治面貌\".Col=5
.Text=\"入学时间\".Col=6
.Text=\"班级名称\"Fori=1Tors.RecordCount
.Row=iForj=0To6
.Col=j
.Text=rs.Fields(j)Nextrs.MoveNextNextEndWithEndIfrs.CloseEndSub
PrivateSubForm_Activate()
optchoice(0).Value=TrueOnErrorResumeNextSetrsDep=DataEnv.rsrsbj
'从class表中读取数据,填充combo2复合框到中rsDep.Open
54吉林农业工程职业技术学院(论文)cboclass.ClearWhileNotrsDep.EOF
cboclass.AddItemrsDep(\"bjmc\")rsDep.MoveNextWend
cboclass.ListIndex=0rsDep.CloseEndSub
4.3.10班级信息添加/删除/查询界面功能和学生信息管理界面类似,界面如下:
添加删除界面代码如下:Subaa2()
OnErrorResumeNext
SetrsDep=DataEnv.rsrsxbrsDep.OpenCombo3.ClearWhileNotrsDep.EOF
Combo3.AddItemrsDep(\"xbmc\")rsDep.MoveNextWend
55吉林农业工程职业技术学院(论文)Combo3.ListIndex=0rsDep.CloseEndSub
PrivateSubCombo3_Click()DimredeteAsNewADODB.RecordsetDimstrsQl
Setredete=DataEnv.rsclass
strsQl=\"selectbjmcfromclasswherexbmc='\"&Trim(Combo3.Text)&\"'\"redete.OpenstrsQl,DataEnv.Con'将所查到的retede中的内容来填充combo4Combo4.ClearWhileNotredete.EOF
Combo4.AddItemredete(\"bjmc\")redete.MoveNextWend
Combo4.ListIndex=0redete.CloseEndSub
PrivateSubCommand1_Click()
IfTrim(Text1.Text)=\"\"OrTrim(Text2.Text)=\"\"Then
MsgBox\"请将信息补充完整!\vbExclamation+vbOKOnly,\"警告\"Text1.SetFocusExitSubEndIfDimora
AsADODB.Recordset
txtSQL=\"select*fromclass\"Setora=ExecuteSQL(txtSQL)Fori=0Toora.RecordCount-1
IfTrim(Text1.Text)=ora.Fields(0)ThenMsgBox\"
该班级名称已存在!\vbExclamation+vbOKOnly,\"警告\"
Text1.SetFocus
56吉林农业工程职业技术学院(论文)Text1.SelStart=0
Text1.SelLength=Len(Text1.Text)ExitSubEndIfora.MoveNextNext
txtSQL=\"select*fromclass\"Setora=ExecuteSQL(txtSQL)ora.AddNew
ora.Fields(0)=Trim(Text1.Text)ora.Fields(1)=Trim(Text2.Text)ora.Updateora.Close
MsgBox\"班级添加成功!\vbExclamation+vbOKOnly,\"提示\"Text1.Text=\"\"Text2.Text=\"\"
aa2Endsub
PrivateSubCommand2_Click()
DimorbAsRecordset
IfCombo3.Text=\"\"OrCombo4.Text=\"\"ThenMsgBox\"请先选择要删除的信息\"ExitSubEndIf
txtSQL=\"select*fromstudentwherebjmc='\"&Trim(Combo4.Text)&\"'\"Setorb=ExecuteSQL(txtSQL)Iforb.EOF=TrueThen
txtSQL=\"deletefromclasswherebjmc='\"&Trim(Combo4.Text)&\"'\"Setorb=ExecuteSQL(txtSQL)
txtSQL=\"select*fromclasswherebjmc='\"&Trim(Combo4.Text)&\"'\"Setorb=ExecuteSQL(txtSQL)
57吉林农业工程职业技术学院(论文)Iforb.EOF=FalseThenElse
MsgBox\"学生课程删除成功!\vbOKOnly,\"提示\"Combo3.Text=\"\"Combo4.Text=\"\"Combo3.ClearCombo4.Clearaa2
EndIfElse
MsgBox\"该班级存在学生信息,不允许删除\,Combo3.Text=\"\"Combo4.Text=\"\"ExitSubEndIfEndSub
PrivateSubForm_Load()
aa2EndSub
查询班级信息代码设计如下:PrivateSubcmdCancel_Click()UnloadMeEndSub
PrivateSubcmdOK_Click()DimrsAsADODB.RecordsetDimiAsIntegerDimjAsInteger
'如果选择的是查询全部,进行下面的处理Ifoptchoice(0).ValueThen
txtSQL=\"select*fromclass\"
\"警告\"58吉林农业工程职业技术学院(论文)EndIf
'选择的是按班级查询
Ifoptchoice(1).Value=TrueThen
txtSQL=\"select*fromclasswherexbmc='\"&cboclass.Text&\"'\"EndIf
Setrs=ExecuteSQL(txtSQL)Ifrs.EOF=TrueThen
MsgBox\"你所查询的信息不存在\vbExclamation+vbOKOnly,ExitSubElse
Rem:将结果显示在网格中WithMSFlexGrid1
.Col=1
.Rows=rs.RecordCount+1.Cols=2.Row=0.Col=0
.Text=\"班级名称\".Col=1
.ColWidth(1)=1400.Text=\"系别名称\"Fori=1Tors.RecordCount
.Row=iForj=0To1
.Col=j
.Text=rs.Fields(j)Nextrs.MoveNextNextEndWithEndIf
\"警告\"59吉林农业工程职业技术学院(论文)rs.CloseEndSub
PrivateSubForm_Activate()optchoice(0).Value=TrueOnErrorResumeNext
SetrsDep=DataEnv.rsrsxb
''从class表中读取数据,填充combo2复合框到中rsDep.Opencboclass.ClearWhileNotrsDep.EOF
cboclass.AddItemrsDep(\"xbmc\")rsDep.MoveNextWend
cboclass.ListIndex=0rsDep.CloseEndSub
4.3.11课程添加、删除、查询界面设计界面如下界面如下:
课程添加界面60吉林农业工程职业技术学院(论文)课程删除界面课程查询界面
代码设计和班级信息代码类似,此处不具体列出4.3.12添加学生成绩信息
添加学生成绩程序代码设计如下:Subtj1()
Forj=0ToMSFlexGrid.Rows-1
IfTrim(MSFlexGrid.TextMatrix(j,2))=\"\"ThenMsgBox\"你还有查询信息没有添加完,请补充完整\"ExitSub
61吉林农业工程职业技术学院(论文)EndIfNext
DimmaaAsRecordset
Rem:将数据添加chengjibiao到表里txtSQL=\"select*fromchengjibiao\"Setmaa=ExecuteSQL(txtSQL)Fori=1ToMSFlexGrid.Rows-1
'控制编号
maa.AddNew
maa.Fields(0)=Trim(MSFlexGrid.TextMatrix(i,0))maa.Fields(1)=Trim(MSFlexGrid.TextMatrix(i,1))maa.Fields(2)=Combo4.Text
maa.Fields(3)=Val(Trim(MSFlexGrid.TextMatrix(i,2)))maa.Fields(4)=Trim(Combo3.Text)maa.Fields(5)=Trim(Combo1.Text)maa.Fields(6)=Trim(Combo2.Text)IfMSFlexGrid.Row OnErrorResumeNext SetrsDep=DataEnv.rsrsxq ''从course表中读取数据,填充combo1复合框到中rsDep.Open 62吉林农业工程职业技术学院(论文)Combo1.ClearWhileNotrsDep.EOF Combo1.AddItemrsDep(\"xqmc\")rsDep.MoveNextWend Combo1.ListIndex=0rsDep.CloseEndSubSubaa2() OnErrorResumeNext SetrsDep=DataEnv.rsrsxb ''从class表中读取数据,填充combo2复合框到中rsDep.OpenCombo2.ClearWhileNotrsDep.EOF Combo2.AddItemrsDep(\"xbmc\")rsDep.MoveNextWend Combo2.ListIndex=0rsDep.CloseEndSub PrivateSubCombo3_Click() DimredeteAsNewADODB.RecordsetDimstrsQl Setredete=DataEnv.rscourse strsQl=\"selectkcmcfromcoursewherexqmc='\"&Trim(Combo1.Text)&\"'and bjmc='\"&Trim(Combo3.Text)&\"'\" redete.OpenstrsQl,DataEnv.Con ''将所查到的retede中的内容来填充combo2Combo4.ClearWhileNotredete.EOF 63吉林农业工程职业技术学院(论文)Combo4.AddItemredete(\"kcmc\")redete.MoveNextWend Combo4.ListIndex=0redete.CloseSetredete=NothingEndSub PrivateSubCombo2_Click()MSFlexGrid.FixedRows=1MSFlexGrid.FixedCols=1 DimredeteAsNewADODB.RecordsetDimstrsQl Setredete=DataEnv.rsclass strsQl=\"selectbjmcfromclasswherexbmc='\"&Trim(Combo2.Text)&\"'\"redete.OpenstrsQl,DataEnv.Con ''将所查到的retede中的内容来填充combo2Combo3.ClearWhileNotredete.EOF Combo3.AddItemredete(\"bjmc\")redete.MoveNextWend Combo3.ListIndex=0redete.CloseSetredete=NothingMSFlexGrid.Cols=6MSFlexGrid.Rows=16MSFlexGrid.ClearEndSub PrivateSubCommand1_Click()MSFlexGrid.Row=1EndSub 64吉林农业工程职业技术学院(论文)PrivateSubCommand2_Click() IfMSFlexGrid.Row-1>0Then MSFlexGrid.Row=MSFlexGrid.Row-1MSFlexGrid.Col=0 Text1.Text=MSFlexGrid.TextText2.Text=Combo4.TextText3.SetFocusEndIfEndSub PrivateSubCommand3_Click() IfMSFlexGrid.Row+1 Text1.Text=MSFlexGrid.TextText2.Text=Combo4.TextText3.SetFocusEndIfEndSub PrivateSubCommand4_Click() MSFlexGrid.Row=MSFlexGrid.Rows-1Text3.SetFocusEndSub PrivateSubCommand5_Click()DimretAsRecordsetDimrftAsRecordset txtSQL=\"select*fromchengjibiaowherekcmc='\"&Trim(Combo4.Text)&\"'\"Setrft=ExecuteSQL(txtSQL)Ifrft.EOF=FalseThen MsgBox\"该班级的该课程成绩已经添加完成\vbExclamation+vbOKOnly,\"警告\" 65bjmc='\"&Trim(Combo3.Text)&\"'and 吉林农业工程职业技术学院(论文)ExitSubEndIf txtSQL=\"selectxsbh,xsxmfromstudentwherebjmc='\"&Trim(Combo3.Text)&\"'\"Setret=ExecuteSQL(txtSQL)Ifret.EOF=TrueThen MsgBox\"你所查询的信息不存在\vbExclamation+vbOKOnly,\"警告\"ExitSubEndIf WithMSFlexGrid .Rows=ret.RecordCount+1.Cols=3.Row=0.Col=0 .Text=\"学生编号\".Col=1 .Text=\"学生姓名\".Col=2 .Text=\"学生成绩\" Fori=0Toret.RecordCount-1.Col=0.Row=i+1 .Text=ret.Fields(0).Col=1 .Text=ret.Fields(1)ret.MoveNextNext.Col=1.Row=1 Text1.Text=.TextText2.Text=Combo4.Text 66吉林农业工程职业技术学院(论文)EndWithText3.SetFocusEndSub PrivateSubCommand6_Click()'Forj=0ToMSFlexGrid.Rows-1exGrid.ClearCalltj1EndSub PrivateSubForm_Activate()Callaa1Callaa2EndSub PrivateSubText3_KeyPress(KeyAsciiAsInteger) IfKeyAscii>47AndKeyAscii<58OrKeyAscii=8OrKeyAscii=13ThenIfKeyAscii=13ThenIfText3.Text=\"\"Thentj1ExitSubEndIf MSFlexGrid.Col=2 MSFlexGrid.Text=Trim(Text3.Text)IfMSFlexGrid.Row+1 Text1.Text=MSFlexGrid.TextText2.Text=Combo4.Text EndIf Text3.Text=\"\"EndIf 67吉林农业工程职业技术学院(论文)Else KeyAscii=0EndIfEndSub 4.3.13修改学生成绩信息 修改学生信息代码设计如下:Subcx1() IfText1.Text=\"\"Then MsgBox\"请先输入要查询的学生编号\vbExclamation+vbOKOnly,\"警告\"ExitSubEndIf DimretAsRecordset,rstAsRecordset,rotAsRecordset txtSQL=\"select*fromchengjibiaowherexsbh='\"&Trim(Text1.Text)&\"'\"Setret=ExecuteSQL(txtSQL)Ifret.EOF()=TrueThen MsgBox\"你所查询的学生编号不存在\vbExclamation+vbOKOnly,\"警告\"Else WithMSFlexGrid1 .Rows=ret.RecordCount+1.Cols=7.Row=0 68吉林农业工程职业技术学院(论文).Col=0 .Text=\"学生编号\".Col=1 .Text=\"学生姓名\".Col=2 .Text=\"课程名称\".Col=3 .Text=\"学生成绩\".Col=4 .Text=\"班级名称\".ColWidth(4)=1000.Col=5 .Text=\"学期名称\".ColWidth(5)=1800.Col=6 .Text=\"系别名称\".ColWidth(6)=1800 Fori=1Toret.RecordCount .Row=iForj=0To6 .Col=j .Text=ret.Fields(j)Next ret.MoveNextNextEndWith Frame2.Enabled=Trueret.MoveFirst Text2(0).Text=ret.Fields(1)Text2(1).Text=ret.Fields(2) 69吉林农业工程职业技术学院(论文)Text2(2).Text=ret.Fields(3)Text3(0).Text=ret.Fields(1)Text3(1).Text=ret.Fields(2)Text3(2).Text=ret.Fields(3)EndIfEndSubSubaa1() OnErrorResumeNext SetrsDep=DataEnv.rsrsxq ''从course表中读取数据,填充combo1复合框到中rsDep.OpenCombo1.Clear ''将各个系的id号作为ItemData附加到复合框中WhileNotrsDep.EOF Combo1.AddItemrsDep(\"xqmc\")rsDep.MoveNextWend Combo1.ListIndex=0rsDep.CloseEndSubSubaa2() OnErrorResumeNext SetrsDep=DataEnv.rsrsxb ''从class表中读取数据,填充combo2复合框到中rsDep.OpenCombo2.Clear ''将各个系的id号作为ItemData附加到复合框中WhileNotrsDep.EOF Combo2.AddItemrsDep(\"xbmc\")rsDep.MoveNextWend 70吉林农业工程职业技术学院(论文)Combo2.ListIndex=0rsDep.CloseEndSub PrivateSubCombo1_DropDown()Combo4.Clear DimredeteAsNewADODB.RecordsetDimstrsQl Setredete=DataEnv.rscourse strsQl=\"selectkcmcfromcoursewherexqmc='\"&Trim(Combo1.Text)&\"'and bjmc='\"&Trim(Combo3.Text)&\"'\" redete.OpenstrsQl,DataEnv.ConCombo4.Clear' Combo4.AddItem\"请选择\"WhileNotredete.EOF Combo4.AddItemredete(\"kcmc\")redete.MoveNextWend 'Combo4.ListIndex=0redete.CloseEndSub PrivateSubCombo2_Click()DimredeteAsNewADODB.RecordsetDimstrsQl Setredete=DataEnv.rsclass '根据所选的系的不同,采用不同的SQL语句 strsQl=\"selectbjmcfromclasswherexbmc='\"&Trim(Combo2.Text)&\"'\"redete.OpenstrsQl,DataEnv.Con ''将所查到的retede中的内容来填充combo2Combo3.ClearWhileNotredete.EOF 71吉林农业工程职业技术学院(论文)Combo3.AddItemredete(\"bjmc\")redete.MoveNextWend Combo3.ListIndex=0redete.CloseSetredete=NothingEndSub PrivateSubCombo3_Click() DimredeteAsNewADODB.RecordsetDimstrsQl Setredete=DataEnv.rscourse strsQl=\"selectkcmcfromcoursewherexqmc='\"&Trim(Combo1.Text)&\"'and bjmc='\"&Trim(Combo3.Text)&\"'\" redete.OpenstrsQl,DataEnv.ConCombo4.Clear' Combo4.AddItem\"请选择\"WhileNotredete.EOF Combo4.AddItemredete(\"kcmc\")redete.MoveNextWend Combo4.ListIndex=0 redete.CloseSetredete=NothingEndSub PrivateSubCommand1_Click() DimrewAsRecordset,fetAsRecordset txtSQL=\"deletefromchengjibiaowherexsbh='\"&Trim(Text1.Text)&\"'andkcmc='\"&Trim(Text2(1).Text)&\"'\"Setrew=ExecuteSQL(txtSQL) txtSQL=\"select*fromchengjibiao\" 72吉林农业工程职业技术学院(论文)Setfet=ExecuteSQL(txtSQL)fet.AddNew fet.Fields(0)=Trim(MSFlexGrid1.TextMatrix(1,0))fet.Fields(1)=Trim(MSFlexGrid1.TextMatrix(1,1))fet.Fields(2)=Trim(Text2(1).Text)fet.Fields(3)=Trim(Text2(2).Text) fet.Fields(4)=Trim(MSFlexGrid1.TextMatrix(1,4))fet.Fields(5)=Trim(MSFlexGrid1.TextMatrix(1,5))fet.Fields(6)=Trim(MSFlexGrid1.TextMatrix(1,6))fet.Updatefet.CloseText1.Text=\"\"Text2(0).Text=\"\"Text2(1).Text=\"\"Text2(2).Text=\"\" MsgBox\"学生成绩已经修改成功\vbExclamation+vbOKOnly,MSFlexGrid1.Rows=1MSFlexGrid1.Enabled=FalseFrame2.Enabled=FalseFrame4.Enabled=TrueEndSub PrivateSubCommand2_Click()UnloadMeEndSub PrivateSubCommand3_Click()cx1EndSub PrivateSubCommand4_Click()Frame4.Enabled=TrueFrame1.Enabled=TrueFrame2.Enabled=False \"提示\"73吉林农业工程职业技术学院(论文)MSFlexGrid1.Enabled=FalseCombo1.Text=\"\"Combo2.Text=\"\"Combo3.Text=\"\"Combo4.Text=\"\"Text1.Text=\"\"Text2(0).Text=\"\"Text2(1).Text=\"\"Text2(2).Text=\"\"MSFlexGrid1.Rows=1Text1.SetFocusEndSub PrivateSubCommand5_Click()Frame1.Enabled=TrueFrame4.Enabled=TrueFrame3.Enabled=FalseMSFlexGrid1.Enabled=FalseCombo1.Text=\"\"Combo2.Text=\"\"Combo3.Text=\"\"Combo4.Text=\"\"Text1.Text=\"\"Text3(0).Text=\"\"Text3(1).Text=\"\"Text3(2).Text=\"\"MSFlexGrid1.Rows=1EndSub PrivateSubCommand6_Click() DimfatAsRecordset,fbtAsRecordsettxtSQL=\"select* fromchengjibiaowherexsbh='\"&Trim(Text1.Text)&\"'andkcmc='\" 74&Trim(Combo4.Text)&\"'andxqmc='\"&Trim(Combo1.Text)&\"'andbjmc='\"& 吉林农业工程职业技术学院(论文)Trim(Combo3.Text)&\"'\"Setfat=ExecuteSQL(txtSQL) txtSQL=\"deletefromchengjibiaowherexsbh='\"&Trim(Text1.Text)&\"'andkcmc='\"&Trim(Combo4.Text)&\"'andxqmc='\"&Trim(Combo1.Text)&\"'andbjmc='\"&Trim(Combo3.Text)&\"'\"Setfat=ExecuteSQL(txtSQL)Text3(0).Text=\"\"Text3(1).Text=\"\"Text3(2).Text=\"\" MsgBox\"学生成绩已经成功删除\vbExclamation+vbOKOnly,\"提示\"Combo1.Text=\"\"Combo2.Text=\"\"Combo3.Text=\"\"Combo4.Text=\"\"Text1.Text=\"\"Text3(0).Text=\"\"Text3(1).Text=\"\"Text3(2).Text=\"\"MSFlexGrid1.Rows=1MSFlexGrid1.Enabled=FalseFrame3.Enabled=FalseFrame4.Enabled=TrueEndSub PrivateSubCommand7_Click()IfCombo1.Text=\"\"Then MsgBox\"请先选择要查询的学期\vbExclamation+vbOKOnly,\"警告\"ExitSubEndIf IfCombo2.Text=\"\"Then MsgBox\"请先选择要查询的系\vbExclamation+vbOKOnly,\"警告\" 75吉林农业工程职业技术学院(论文)ExitSubEndIf IfCombo3.Text=\"\"Then MsgBox\"请先选择要查询的班级\vbExclamation+vbOKOnly,\"警告\"ExitSubEndIf IfCombo4.Text=\"\"Then MsgBox\"请先选择要查询的课程\vbExclamation+vbOKOnly,\"警告\"ExitSubEndIf DimretAsRecordset txtSQL=\"select*fromchengjibiaowhere kcmc='\"&Trim(Combo4.Text)&\"'and xqmc='\"&Trim(Combo1.Text)&\"'andbjmc='\"&Trim(Combo3.Text)&\"'\"Setret=ExecuteSQL(txtSQL)Ifret.EOF()=TrueThen MsgBox\"你所查询的课程成绩不存在,请先输入\vbExclamation+vbOKOnly,\" 警告\"Else WithMSFlexGrid1 .Rows=ret.RecordCount+1.Cols=7.Row=0.Col=0 .Text=\"学生编号\".Col=1 .Text=\"学生姓名\".Col=2 .Text=\"课程名称\".Col=3 .Text=\"学生成绩\".Col=4 76吉林农业工程职业技术学院(论文).Text=\"班级名称\".ColWidth(4)=1000.Col=5 .Text=\"学期名称\".ColWidth(5)=1800.Col=6 .Text=\"系别名称\".ColWidth(6)=1800 Fori=0Toret.RecordCount-1 Forj=0To6.Row=i+1.Col=j .Text=ret.Fields(j)Nextret.MoveNextNextEndWith'Frame4.Enabled=False' Frame2.Enabled=FalseMSFlexGrid1.Enabled=TrueEndIfEndSub PrivateSubForm_Activate()Text1.SetFocusEndSub PrivateSubForm_Load()Callaa1Callaa2EndSub PrivateSubMSFlexGrid1_Click() 77吉林农业工程职业技术学院(论文)WithMSFlexGrid1 .Row=.RowSel.Col=0 Text1.Text=.Text.Col=1 Text2(0).Text=.TextText3(0).Text=.Text.Col=2 Text2(1).Text=.TextText3(1).Text=.Text.Col=3 Text2(2).Text=.TextText3(2).Text=.TextEndWith Frame2.Enabled=TrueFrame3.Enabled=TrueText2(2).SetFocusEndSub PrivateSubText1_KeyPress(KeyAsciiAsInteger) IfKeyAscii>47AndKeyAscii<58OrKeyAscii=8OrKeyAscii=13ThenIfKeyAscii=13Thencx1Else KeyAscii=0EndIfEndSub 78吉林农业工程职业技术学院(论文)4.3.14成绩信息查询 班级成绩查询班级单科成绩查询个人信息查询代码与个人信息查询类似,此处不重复书写4.3.15关于 关于79吉林农业工程职业技术学院(论文)第五章结束语 5.1论文总结 本论文为自己独立开发,开发过程遇到很多问题,但在老师的指导下已经解决,本人认为此程序不够完善,只完成了想是实现的所有功能,但并没实现代码的优化和完善,本人水平更有待加强。5.2展望未来 相信在不断的学习和实践,本人所开发出的程序会更加完善,代码优化问题会得到根本上的解决。参考文献 文献、资料名称 教务管理系统学生成绩管理系统编著者 彭凡玲杨富城学校模板豆丁网出版单位 致谢 首先衷心地感谢我的导师钱坤。本文从选题到完成,从理论上的探讨到实际问题的解决,无处不饱含着钱坤的心血。钱坤的悉心指导和建议给了我极大的帮助和支持,使我受益匪浅,在此论文完成之际,谨向钱坤致以深深的谢意和崇高的敬意。 80 因篇幅问题不能全部显示,请点此查看更多更全内容