学校招生信息管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

哈尔滨师范大学
课程论文
课程名称管理信息系统
任课教师XXX
题目学校招生信息管理系统
姓名XXX
学号XXXXXXXXX
学院计算机科学与信息工程学院
学校招生信息管理系统
XXX
摘要:随着计算机及网络技术的飞速发展,Internet的应用在全球范围内日益普及,办公自动化是运作高效的企事业单位的必然要求,网上招生管理系统是一个高校不可缺少的部分,它的使用对于招生人员和考生来说都至关重要。

本文以开发忻州师院网上招生系统为实践基础,详细阐述了网上招生管理系统的设计与实现的全过程,结合Visual Basic6.0相关程序和ASP相关技术,以SQL Server 2000为后台数据库开发了本系统。

关键词:网上招生; Visual Basic6.0;招生信息管理;SQL Server 2000 ;网上招生管理;计算机
第一章论述
1.1 课题来源、研究目的及意义
随着计算机及其应用软件的发展,教育信息化已经越来越得到重视。

实现教育信息化的管理,能够提高教学质量,减轻学校和教学管理部门的压力。

招生管理系统是针对学校需要应运而生的,是每个学校运行的一个主要环节,是为学校管理者更好的管理所招收的学生工作而开发的管理软件。

利用计算机技术对招生工作进行管理,具有手工管理所无法比拟的优点,因此,开发一套招生管理系统软件是很有必要,也是势在必行的,根据需求分析,实现招生管理业务,效益已越来越明显。

开发本系统,旨在可以有效而机密的管理招生数据,提高工作效率和增加招生管理的透明度,实现数据规范化、自动化的电脑管理。

1.2 研究内容
整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成考生信息、招生计划管理和考生录取的全过程,。

主要的功能模块有:
⑴系统管理模块:包括系统登录、修改密码、添加新用户、退出系统。

其中添加新用户功能只有当登录的用户是管理员时才能使用,并且注册用户时需要输入用户的真实姓名。

⑵考生信息管理模块:包括添加考生信息、显示考生信息、考生信息统计。

其中添加考生信息需要输入考生的所有信息,如考生基本信息,考生成绩信息等。

显示考生信息可以逐条显示这些信息,还可以按准考证号查询考生信息。

考生信息统计可以按文理科,省份等进行统计。

⑶考生录取模块:包括考生录取,显示已录取考生信息。

⑷招生计划管理模块:包括添加招生计划、显示招生计划、查询招生计划、招生计划统
计;
⑸数据库维护模块:包括数据库备份和数据库恢复。

第二章系统分析及关键技术
2.1 系统需求分析
需求分析是管理系统开发的第一步也是最重要的一步。

需求分析就是描述系统的需求,通过定义系统中的关键域类来建立模型。

分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通的机制。

这是一个管理系统,设计目标是赋予系统基本的招生功能,以尽量方便学校,而且使用起来也很容易。

分析那些理论中对实际操作有价值的功能,如考生信息管理,招生计划管理,和系统管理.还有对信息的添加,修改,和删除.并且提供快速查询功能,方便学校了解并能快速高效的工作。

对于系统管理员,也力求尽最大可能方便其进行操作。

1. 管理员对功能的需求
(1) 登录取得管理员权限
(2) 注销此次权限
2. 考生信息管理
(1) 查询考生信息。

考生信息包括考生基本信息和其他信息,基本信息包括准考证号,姓名,性别,户籍所在地,政治面貌,籍贯,年龄,出生年月;其他信息包括考生成绩,考生填报志愿信息,考生个人简历,考生亲属关系。

(2) 修改考生信息。

考生信息包括考生基本信息和其他信息,基本信息包括准考证号,姓名,性别,户籍所在地,政治面貌,籍贯,年龄,出生年月;其他信息包括考生成绩,考生填报志愿信息,考生个人简历,考生亲属关系。

(3) 删除考生信息.
(4) 考生信息统计。

包括按文理科、按院系、按考生省份、先按院系再按省份统计。

3. 招生计划管理
(1) 添加招生计划。

包括院系,省份,招生人数。

(2) 查询招生计划。

(3) 修改招生计划。

(4) 删除招生计划。

(5) 招生计划统计。

4. 系统管理
(1) 系统登录。

(2) 修改密码。

(3) 添加新用户。

只有管理员才能添加。

(4) 退出系统。

2.2 系统配置
1.操作系统选择
可以根据用户量的大小选择不同的操作系统。

当然,一般情况下对Windows界面比较熟悉。

因此,我选择使用Windows 7。

维护水平“较好”,稳定性要求较高,每秒数据并发数据访问记录为500-2000。

2.硬件配置
系统的硬件配置主要根据用户对系统的稳定性、系统的容量、系统的吞吐量以及对系统的维护水平而定。

我的系统硬件配置是:
处理器:Celeron(R) 2.66GHz;内存:512MB;硬盘:80GB。

2.3 关键技术
客户/服务器(Client/Server)是近年来迅速发展的分布式信息处理体系结构。

客户/服务器体系把信息处理过程分成几个部分,并把它分配到整个计算机网络上,使信息处理过程能最佳地利用计算机的系统资源。

在招生管理系统中,为了避免多个用户同时对同一数据进行操作,减少系统开销,尽可能地少耗用网络资源,系统采用客户/服务器结构。

C/S模式系统以服务器作为数据处理和存储平台,在终端设计有专门的应用程序进行数据的采集和初次处理,再将数据传递到服务器端,用户必须使用客户端应用程序才能对数据进行操作。

C/S模式具有专业化程度高、开发手段灵活、运行速度快等特点,但受到维护成本大、适应性弱等问题的影响。

C/S模式是早期电子政务开发中主要应用的模式,同时一些专业的MIS软件也经常使用这种模式。

C/S模式系统几乎可以适应任何的操作平台,开发技术也多种多样,大部分计算机语言都能开发出C/S模式的应用系统。

Client/Server是分离的逻辑实体,它是通过网络协同工作来完成一项工作,它具有下列特征:
⑴功能分离:Server进程是服务的提供者,Client进程是服务的消费者,
它们是在不同机器上运行的进程间的一种关系。

⑵共享资源:一个Server可以同时为多个Client提供服务并协调它们共享资源的访问。

⑶位置透明:Server可以驻留在与客户相同或不同的处理器上,需要时,Client/Server平台可通过重新定向服务来掩盖位置。

⑷服务封装:客户过程只需要知道Server的界面,而不必了解其逻辑。

⑸同步/异步操作:客户可以用同步或异步的方式请求服务。

异步方式可以使Server 并发地处理多个客户任务。

⑹可扩展性:支持水平或垂直扩展。

水平扩展可以增加或更改客户工作站;垂直扩展是可以转移到新的或多个Server机器上。

2.4 可行性研究
可行性分析(Feasibility Analysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。

可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。

本系统的可行性分析包括以下几个方面的内容。

1.经济可行性:主要是对项目的经济效益进行评价,本系统开发经费非常小,对于大多数单位在经济上是可以接受的。

2.技术上的可行性:技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。

系统采用Visual Basic6.0开发,后台数据库使用Server SQL 2000,使用C/S结构设计,系统实现对SQL数据库的维护,包括对数据的增加、修改、删除,以及查询操作。

因此,系统的软件开发平台已成熟可行。

硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。

3.时机可行性:目前,随着社会的发展,学校的增加,生员的扩招,设计这样一个招生系统会给学校带来方便和效率.所以建立这样一个管理系统很有市场,所以具有时机可行性。

第三章招生管理系统分析与设计
3.1招生管理系统总体结构设计
招生管理系统按功能可分为系统管理、考生信息管理、招生计划管理、考生录取管理、数据库维护、帮助六大模块,每个模块下分几个小模块。

系统总体结构设计如图3.2所示:
图3.2 系统总体结构图
3.1.1 系统管理
系统管理可以细分为登录系统、修改密码、添加新用户、管理员设置、退出系统五个子功能模块。

·登录系统:过对操作人员输入的用户名称和用户口令的验证,使得系统管理人员进入系统管理界面进行相关操作。

·修改密码:用户可以通过该模块进行密码的重新设置,以保证帐号安全。

·添加新用户:该功能模块只有登录的用户是管理员时才能对其进行操作,注册过程中可以选择新用户的权限。

·退出系统:操作员完成对系统的操作,安全退出系统。

3.1.2 考生信息管理
考生管理系统包括考生信息的录入、显示考生信息、考生信息统计三个子功能模块。

·考生信息录入:该模块是整个招生管理系统的一个核心部分。

操作人员可以在考生录入窗口中实现考生信息管理的大部分的节本功能,包括考生信息的添加、修改、删除等功能。

·显示考生信息:该模块可以显示考生的所以信息,包括基本信息、考生成绩信息、考生报考志愿信息、考生简历等。

还可以同过准考证号查询特定考生的信息,并可对其进行修改、删除、保存等操作。

·考生信息统计:该功能模块可以按多种方式统计,如按文理科、按院系、按考生省份、先按院系再按省份统计等。

3.1.3 招生计划管理
招生计划管理包括招生计划录入、显示招生计划、招生计划统计三个子功能模块。

·招生计划录入:按要求输入招生院系、省份、招生人数。

·显示招生计划:可以按院系、省份查询招生计划,也可显示全部招生计划。

并能对招生计划进行修改、删除、保存等操作。

·招生计划统计:包括按院系统计和按省份统计。

3.1.4 考生录取管理
考生录取管理包括考生录取、已录取考生信息两个子功能模块。

·考生录取:操作员通过该模块对符合要求的考生进行录取操作。

·已录取考生信息:可以查看各院系、各省份的考生录取情况,也可以查看全部的考生录取情况。

其中各省已录取考生信息和各院系已录取考生信息都统计了已录取考生人数和相对招生计划而言的剩余招生名额,以便于用户明确已录取情况和还需招生情况。

3.1.5 数据库维护
数据库维护包括数据库备份和数据库恢复两个子功能模块。

·数据库备份:主要是为了防止数据丢失,定期对数据库进行备份。

·数据库恢复:主要作用是当数据库出现问题时,将备份的数据恢复,可以防止数据丢失带来的损失。

3.2 系统流程图
图3.3 系统流程图
3.3 系统数据流程图
图3.4 系统数据流程图
3.4 数据库详细设计
数据库是信息管理系统的后台,存储着所有的信息,在信息管理系统中有着很重要的地位。

数据库设计的好与坏,直接影响到这个系统的运行效率。

良好的数据库设计,可以提高数据信息的存储效率,保证数据信息的完整性和一致性。

同时,一个合理的数据库结构有利于程序的实现。

3.4.1 数据库表的设计
本系统采用了大型的SQL Server数据库,数据库名称为“zsgl”.数据库“zsgl”包含8个表。

其中包括每个表的备份表。

⑴用户表,包括用户名、密码、真实姓名、用户类型、注册时间4个字段。

表3.5.2-1 用户表结构
⑵考生基本信息表,包括准考证号、姓名、性别、户口所在地、政治面貌、籍贯、年龄、出生日期8个字段。

表3.5.2-2 考生基本信息表结构
⑶考生成绩表,包括准考证号、姓名、语文、数学、外语、X综合、特殊加分、总分、外语语种、文理科类型10个字段。

⑷考生志愿表,包括准考证号、姓名、第一志愿学校、第二志愿学校、第三志愿学校、本校院系1、本校院系2、本校院系3八个字段。

表3.5.2-4 考生志愿表结构
⑸考生简历表,包括准考证号、姓名、毕业学校、毕业学校所在地、毕业时间、曾获
表3.5.2-5 考生简历表结构
⑹考生亲属表,包括准考证号、考生姓名、与考生关系、亲属姓名、工作及工作单位、电话、通讯地址、邮编、备注、亲属2与考生关系、亲属2姓名、亲属2工作及工作单位、
表3.5.2-6 考生亲属表结构
⑺招生计划表,包括院系、省份、招生人数3个字段。

⑻已录取考生表,包括准考证号、姓名、院系、省份、总分5个字段。

表3.5.2-8 已录取考生表
根据3.5.1数据库设计理论可知,本系统所设计的数据库表符合第三范式(3NF)。

第四章系统详细设计及实现
4.1 系统登录窗口
系统登录窗口模块主要对进入系统的用户进行安全性检查,防止非法用户进入系统。

只有合法的用户在输入正确的管理员和密码后,才可以进入系统。

4.1.1 实现目标
(1)输入用户名和密码进入系统。

(2)确认用户的身份及使用权限
(3)支持键盘操作及鼠标操作
4.1.2 开发流程
根据系统登录窗口的实现目标,在设计系统登录窗口时,要了解系统登录窗口的开发流程,系统登录窗口的开发流程图如图4.1.2 所示.
图4.1.2 系统登录窗口开发流程图
4.1.3 程序设计及代码
1.添加控件
⑴新建一个窗口,在窗口中添加一个图形控件,一个Frame控件,两个Label控件,两个TextBox控件和两个CommandButton控件。

⑵输入密码控件采用TextBox控件,以星号(*)显示。

2.添加代码:
为了使本窗体在运行时处于主窗体的中央,需要加入如下代码:
Private Sub Form_Load()
Dim Y0 As Long
'让窗体居中
X0 = Screen.Width
Y0 = Screen.Height
X0 = (X0 - Me.Width) / 2
Y0 = (Y0 - Me.Height) / 2
Me.Move X0, Y0
End Sub
下面实现【登录】按钮的功能,双击【登录】按钮,添加单击此按钮时的代码:Private Sub cmdLogin_Click()
'首先检查用户是否输入了用户名和密码
If txtUser.Text = "" Then
MsgBox "请输入用户名!", vbOKOnly + vbInformation, "注意"
txtUser.SetFocus
Exit Sub
ElseIf txtPwd.Text = "" Then
MsgBox "请输入密码!", vbOKOnly + vbInformation, "注意"
txtPwd.SetFocus
Exit Sub
End If
Dim sqluser As String
'构造查询该用户名和密码的sql语句
sqluser = "select * from 用户表 where 用户名 = '" & txtUser.Text _ & "' and 密码 = '" & txtPwd.Text & "*'"
CursorLocation = adUseClient
'打开数据游标
rs_user.Open sqluser, conn, adOpenKeyset, adLockPessimistic
If rs_user.EOF = True Then
MsgBox "用户名和密码不正确!", vbOKOnly + vbInformation, "注意" rs_user.Close
Exit Sub
ElseIf rs_user.Fields(3) = "超级用户" Then
admin_user = True
' 如果是超级用户则使添加新用户子菜单为可用
MDIfrmMain.mnAddNew.Enabled = True
'还需使其他菜单可用
MDIfrmMain.mnStu.Enabled = True
MDIfrmMain.mnPlan.Enabled = True
MDIfrmMain.mnAdmit.Enabled = True
'提示用户登录成功并关闭游标和登录窗口
MsgBox "登录成功!", vbOKOnly + vbInformation, "注意"
rs_user.Close
Unload Me
Else
admin_user = False
'如果为普通用户则,添加新用户子菜单不可用,其他菜单可用
MDIfrmMain.mnStu.Enabled = True
MDIfrmMain.mnPlan.Enabled = True
MDIfrmMain.mnAdmit.Enabled = True
MsgBox "登录成功!", vbOKOnly + vbInformation, "注意"
rs_user.Close
Unload Me
End If
End Sub
4.2 主程序界面
主程序界面是用户与应用程序交互的接口,用于调用其他子程序的窗口,另外主程序界面还要实现权限设置,菜单调用,工具栏调用等功能,主程序界面设计的好坏直接影响到应用程序的整体形象。

4.2.1 实现目标
⑴选择主界面的菜单,调用相应程序,进行相应操作。

⑵窗体名称显示当前操作员姓名,显示日期和时间。

⑶按操作员的使用权限,调用相应的菜单项。

⑷按操作员的使用权限,调用相应的工具栏按钮。

4.2.2 开发流程
主界面的开发流程如图4.2.2所示
图4.2.2 主界面开发流程图
4.2.3 程序设计及代码:
在MDIfrmMain窗体中对各模块进行连接,然后对各窗体添加代码。

MDIfrmMain模块代码:
Private Sub MDIForm_Load()
' 在主窗体中打开对数据库的连接
Dim strCnn As String '定义一个连接串变量
strCnn = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=zsgl" conn.Open strCnn
mnAddNew.Enabled = False '设置添加新用户菜单不可用
mnStu.Enabled = False
mnPlan.Enabled = False
mnAdmit.Enabled = False
End Sub
4.3新用户注册模块
新用户注册模块主要完成新用户信息的管理。

新用户注册模块涉及到的数据表为用户表。

4.3.1 实现目标
⑴只有管理员才能注册新用户。

⑵设置用户权限及密码。

4.3.2 开发流程
本模块用于注册新用户,设计目标如下:在系统登入框中输入用户名和密码后,程序将判断用户是否为系统管理员,如果是系统管理员,“添加新用户”按钮可用。

否则,“添加新用户”按钮不可用。

权限管理:由于不同的用户都有不同的权限,为了保证数据的安全,避免非法用户任意更改数据,必须对用户的权限加以管理,当用户通过登陆窗口进入系统后,系统就会对用户信息做一个记录,当用户要试图进入某个分模块时,系统首先要验证用户的权限,对于有些模块用户根不无权打开,对于有些模块用户可以进去预览某些数据,但是其中的某些功能只对特定权限的用户开放,其它用户均无权进行操作,因为这些功能都是不可用状态。

当然要想使用某些功能,用户可以通过切换用户,来提高自己的权限。

前提是你要知道相应权限的验证信息才行。

这在很大程度上保证了数据的安全性。

开发流程图如图4.3.2所示:
图4.3.2 用户注册模块开发流程图
4.3.3 程序设计及代码
各控件重要属性设置如表4.3.3所示:
要使本窗体运行时处于主窗体的中央,还需要设置Combo的默认值和注册时间为当前系统时间,代码如下:
Private Sub Form_Load()
Dim X0 As Long
Dim Y0 As Long
'让窗体居中
X0 = Screen.Width
Y0 = Screen.Height
X0 = (X0 - Me.Width) / 2
Y0 = (Y0 - Me.Height) / 2
Me.Move X0, Y0
cmbType.ListIndex = -1 '设置ComboBox的list初始值为listindex=0的值
txtTime.Text = Str(Date)
End Sub
下面实现【注册】按钮功能。

首先需要检测是否输入了必要信息,两次输入的密码是否相同,还需要检测该用户是否已经注册过了。

如果检测通过则加入用户表,提示用户注册成功,代码如下:
Private Sub Command1_Click()
'先检查用户是否输入了必要的各项值
If txtUser.Text = "" Then
MsgBox "请输入用户名!", vbOKOnly + vbInformation, "注意"
txtUser.SetFocus
Exit Sub
ElseIf txtPwd.Text = "" Then
MsgBox "请输入密码!", vbOKOnly + vbInformation, "注意"
txtPwd.SetFocus
Exit Sub
ElseIf txtPwd2.Text = "" Then
MsgBox "请再次输入密码!", vbOKOnly + vbInformation, "注意"
txtPwd2.SetFocus
Exit Sub
ElseIf txtTrueName.Text = "" Then
MsgBox "请输入您的真实姓名!", vbOKOnly + vbInformation, "注意"
txtTrueName.SetFocus
Exit Sub
ElseIf cmbType.Text = "" Then
MsgBox "请选择用户类型!", vbOKOnly + vbInformation, "注意"
cmbType.SetFocus
Exit Sub
End If
'判断两次输入的密码是否相同
If txtPwd.Text <> txtPwd2.Text Then
MsgBox "两次输入的密码不同,请重新输入密码!", vbOKOnly + vbInformation, "注意"
txtPwd.Text = ""
txtPwd2.Text = ""
txtPwd.SetFocus
Exit Sub
End If
Dim rs_check As New ADODB.Recordset
Dim rs_add As New ADODB.Recordset
Dim strsql As String
strsql = "select * from 用户表 where 用户名 = '" & txtUser.Text & "'"
rs_check.Open strsql, conn, adOpenKeyset, adLockPessimistic
'判断是否已存在此用户名
If rs_check.EOF = False Then
MsgBox "此用户名已存在,请选择其他用户名!", vbOKOnly + vbInformation, "注意"
txtUser.Text = ""
txtUser.SetFocus
rs_check.Close
Exit Sub
End If
4.4考生信息管理
4.4.1 实现目标
⑴完成查询、修改、删除考生信息操作。

⑵在单行编辑框、掩码框、下拉列表框和单选按钮中对信息进行快速操作。

⑶支持快速浏览考生信息。

4.4.2 开发流程
图4.4.2 考生信息管理模块开发流程图
4.4.3 程序开发及代码
按图4.4.1所示加入各控件,其中TextBox控件的属性Text域都清空,而且各个Frame 框中的所有TextBox为一个TextBox控件数组,其属性名分别为Texti(j),其中i为控件数组号,j为该控件在该控件数组中的序号。

从上到下5个Frame框中的控件数组号分别为是
表4.4.3 重要控件属性设置
要显示考生信息,需要打开5个考生信息表,代码如下:
'在from_laod()方法中打开5个考生信息表
sql_Stu = "select * from 考生基本信息表"
rs_Stu.CursorLocation = adUseClient
rs_Stu.Open sql_Stu, conn, adOpenStatic, adLockOptimistic
For i = 0 To 7
Text1(i).Text = rs_Stu.Fields(i)
Next i
sql_Grade = "select * from 考生成绩表"
rs_Grade.CursorLocation = adUseClient
rs_Grade.Open sql_Grade, conn, adOpenStatic, adLockOptimistic For i = 0 To 7
Text8(i).Text = rs_Grade.Fields(i + 2)
Next i
sql_Wish = "select * from 考生志愿表"
rs_Wish.CursorLocation = adUseClient
rs_Wish.Open sql_Wish, conn, adOpenStatic, adLockOptimistic For i = 0 To 5
Text9(i).Text = rs_Wish.Fields(i + 2)
Next i
sql_Study = "select * from 考生简历表"
rs_Study.CursorLocation = adUseClient
rs_Study.Open sql_Study, conn, adOpenStatic, adLockOptimistic
For i = 0 To 3
Text10(i).Text = rs_Study.Fields(i + 2)
Next i
sql_Relation = "select * from 考生亲属表"
rs_Relation.CursorLocation = adUseClient
rs_Relation.Open sql_Relation, conn, adOpenStatic, adLockOptimistic
For i = 0 To 13
Text11(i).Text = rs_Relation.Fields(i + 2) & ""
Next i
'下面需要设置各个textbox控件不可修改
For i = 0 To 7
Text1(i).Enabled = False
Next i
For i = 0 To 7
Text8(i).Enabled = False
Next i
For i = 0 To 5
Text9(i).Enabled = False
Next i
For i = 0 To 3
Text10(i).Enabled = False
Next i
For i = 0 To 13
Text11(i).Enabled = False
Next i
End Sub
下面实现【查询】按钮的功能。

单击【查询】按钮后,弹出一个InputBox窗体,需要用户输入查询的准考证号,如果没有输入准考证号,则取消查询,代码如下:
Dim Markstu As String
Dim strInput As String '用于保存用户输入的考生准考证号
Dim lonInput As Long '用于保存转换成数字后的考生准考证号
strInput = InputBox("请输入要查询的考生准考证号:", "输入准考证号")
If Len(strInput) = 0 Then
MsgBox "没有输入准考证号,取消查询!", vbOKOnly + vbInformation, "注意" Else
lonInput = Val(strInput)
Markstu = rs_Stu.Bookmark
'使用find 方法查找记录
rs_Stu.Find "准考证号 like '" & lonInput & "'"
'如果没有找到则提示用户
If rs_Stu.EOF Then
MsgBox "对不起,没有找到你所要的记录!", vbOKOnly + vbInformation, "注意"
Exit Sub
Else
'如果找到则显示该记录并且相应各表游标都移到该记录
For i = 0 To 7
Text1(i).Text = rs_Stu.Fields(i)
Next i
'移动其他各表游标到该记录并显示
rs_Grade.Find "准考证号 like '" & lonInput & "'"
For i = 0 To 7
Text8(i).Text = rs_Grade.Fields(i + 2)
Next i
rs_Wish.Find "准考证号 like '" & lonInput & "'"
For i = 0 To 5
Text9(i).Text = rs_Wish.Fields(i + 2)
Next i
rs_Study.Find "准考证号 like '" & lonInput & "'"
For i = 0 To 3
Text10(i).Text = rs_Study.Fields(i + 2)
Next i
rs_Relation.Find "准考证号 like '" & lonInput & "'"
For i = 0 To 13
Text11(i).Text = rs_Relation.Fields(i + 2) & ""
Next i
End If
End If
End Sub
单击【修改】按钮后,【修改】会变成【确定】按钮,同时各TextBox控件可写,当【修改】按钮变成【确定】按钮后,单击【确定】按钮,则把修改的数据写入数据表中。

同时需要将【确定】按钮改为【修改】按钮以及各个TextBox控件不可写,代码如下:
If cmdChange.Caption = "修改" Then
'设置相应的按钮不可用
cmdDel.Enabled = False
'设置修改按钮为确定按钮
cmdChange.Caption = "确定"
'设置各个textbox控件可写
For i = 0 To 7
Text1(i).Enabled = True
Next i
For i = 0 To 7
Text8(i).Enabled = True
Next i
For i = 0 To 5
Text9(i).Enabled = True
Next i
For i = 0 To 3
Text10(i).Enabled = True
Next i
For i = 0 To 13
Text11(i).Enabled = True
Next i
ElseIf cmdChange.Caption = "确定" Then
'设置修改、删除按钮可用
cmdChange.Enabled = True
cmdDel.Enabled = True
cmdChange.Caption = "修改"
'如果单科分数改动,则需要修改总分
'计算总成绩
Dim sum As Integer
sum = 0
For i = 0 To 4
sum = sum + Val(Text8(i).Text)
Next i
'总分等于各科分数之和
Text8(5).Text = sum
rs_Stu.Update
rs_Grade.Update
rs_Wish.Update
rs_Study.Update
rs_Relation.Update
'保存了修改结果之后,需要使各个TextBox控件设为不可写 For i = 0 To 7
Text1(i).Enabled = False
Next i
For i = 0 To 7
Text8(i).Enabled = False
Next i
For i = 0 To 5
Text9(i).Enabled = False
Next i
For i = 0 To 3
Text10(i).Enabled = False
Next i
For i = 0 To 13
Text11(i).Enabled = False
Next i
End If
End Sub
4.5招生计划管理
4.5.1 实现目标
⑴完成添加、查询、修改、删除等操作。

⑵支持快速浏览招生计划。

4.5.2 开发流程
图4.5.2-1 输入招生计划模块开发流程图
图4.5.2-2 查询招生计划模块开发流程图
图4.5.2-3 显示招生计划模块开发流程图
4.5.3 程序设计及代码
下面来实现【加入招生计划表】按钮的功能。

加入前要检测用户是否输入了所有信息,如果输入了,再提示用户是否确定要加入,如果得到肯定答复,则加入招生计划表,否则退出不作任何处理,代码如下:
'先检测输入框是否为空,如为空,则提示用户
If txtDept.Text = "" Or txtProv.Text = "" Or txtNum.Text = "" Then
MsgBox "请正确输入信息后再加入招生计划表!", vbOKOnly + vbInformation, "注意"
Exit Sub
End If
'如果输入信息正确,则打开数据表添加数据
Dim rs_plan As New ADODB.Recordset
Dim sqlplan As String
sqlplan = "select * from 招生计划表"
rs_plan.CursorLocation = adUseClient
rs_plan.Open sqlplan, conn, adOpenStatic, adLockPessimistic
rs_plan.AddNew
rs_plan.Fields(0) = txtDept.Text
rs_plan.Fields(1) = txtProv.Text
rs_plan.Fields(2) = txtNum.Text
'要求用户确认是否确实要加入招生计划表
Dim an As String
an = MsgBox("确定要加入招生计划表吗?", vbYesNo, "")
If an = vbYes Then
rs_plan.Update
rs_plan.Close
MsgBox "加入信息成功!", vbOKOnly + vbInformation, "注意"
Else
rs_plan.CancelUpdate
rs_plan.Close
Exit Sub
End If
End Sub
下面实现两个【查询】按钮的功能,首先检测相应的TextBox中是否输入了查询条件,然后调用另一个窗体显示符合查询条件的记录,代码如下:
Private Sub cmdQbyD_Click()
'先检测用户是否输入了查询条件
If txtDept.Text = "" Then
MsgBox "没有输入院系查询条件!", vbOKOnly + vbInformation, ""
Exit Sub
End If
frmShowPlan.Show
End Sub
Private Sub cmdQbyP_Click()
If frmQueryPlan.txtProv.Text = "" Then
MsgBox "没有输入省份查询条件!", vbOKOnly + vbInformation, ""
Exit Sub
End If
frmShowPlan2.Show
End Sub
实现【修改记录】按钮的功能:
If cmdMod.Caption = "修改记录" Then
cmdMod.Caption = "确定" '按钮名称改为"确定"
cmdDel.Enabled = False
DataGrid1.AllowUpdate = True
Else
rs_plan.Update
DataGrid1.Refresh
MsgBox "修改信息成功!", vbOKOnly + vbExclamation, ""
DataGrid1.AllowUpdate = False
cmdMod.Caption = "修改记录"
cmdDel.Enabled = True
End If
End Sub
实现【删除】按钮的功能:
Dim answer As String
answer = MsgBox("确定要删除吗?", vbYesNo, "")
If answer = vbYes Then
DataGrid1.AllowDelete = True
rs_plan.Delete '删除当前记录。

相关文档
最新文档