学生档案管理系统的设计与实现.docx
《学生档案管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《学生档案管理系统的设计与实现.docx(32页珍藏版)》请在冰豆网上搜索。
学生档案管理系统的设计与实现
学生档案管理系统项目应用开发
数据库应用程序的开发始终算得上是VB编程中的难点,这是因为你不仅要熟悉VB中关于数据库编程方面的知识(固然这是十分简单的)还要了解数据库的知识。
本系统主要用来实现学生大体情形和学生成绩的录入、修改、查询、删除和打印等功能。
通过本系统,能够了解如何利用VisualBasic来开发一个比较完整的数据库应用程序。
用到的数据库控件有DATA、ADO,添加的一个数据环境。
一、系统结构图
本系统主要包括学生大体情形更新,学生大体情形保护和学生成绩保护3个大的模块,各个模块的具体功能如图所示:
图1-1应用程序的功能模块结构图
二、数据库的成立
本系统用到的数据库是用VisualBasic的外加工具VisualDataManager(可视化数据管理器)创建,名为(是access数据库),其顶用到两个表,别离为:
大体情形表和学生成绩表。
两表的结构如下所示:
表1-1
字段名
类型
宽度
学号
Text
6
姓名
Test
10
性别
Text
2
班级
Text
20
出生年月
Data/Time
8
政治面貌
Text
4
家庭住址
Text
20
电话
Text
8
E_mail
Text
20
照片
Binary
0
表1-2
字段名
类型
宽度
学号
Text
6
课程
Test
8
成绩
Long
4
学期
Integer
制作进程如下:
1、选择VB外接程序菜单中的可视化数据管理器,进入可视化数据管理器;
2、在可视化数据管理器当选择文件菜单中的新建选项成立数据库文件,然后从数据库厂家列表当选择要创建的数据库类型(本例选择MicrosoftAccess中的VersionMDB版本);
3、在选择要创建的MicrosoftAccess数据库对话框中,输入数据库名student,按肯定按钮进入数据库窗口;
4、在数据库窗口中单击鼠标右键并从弹出式菜单当选择新建表来创建数据库中的两个表(大体情形表和学生成绩表)。
三、各个窗体的设计与实现
(一)主窗体的设计与实现
第一在VB中新建一个标准工程并起名为成绩管理,在标准工程中添加一个MDI窗体并起名为Frmmain。
主窗体的设计界面如图1-2所示:
图1-2主窗体的设计界面
在主窗体中主要应用了菜单、工具栏和状态栏。
下面别离介绍这些组成部份的功能。
1、菜单的设计
菜单是Windows应用程序中的重要组成部份,这里将对每一个菜单项及其子菜单的功能进行简单介绍,如表1-1所示。
表1-3应用程序的菜单项列表
主菜单名
子菜单项
菜单功能
数据维护(Repair)
情况表更新(Edit)
显示学生情况表更新窗体
情况表维护(Cedit)
显示学生情况表维护窗体
成绩表维护(Cjwh)
显示学生成绩表维护窗口
退出本系统(Quit1)
退出应用程序
帮助(Help)
关于系统(Absystem)
显示关于系统窗体
系统帮助(Abhelp)
显示系统帮助窗体
退出(Exit)
推出本系统(Quit)
退出应用程序
MID应用程序中,父窗体能够有自己的菜单,子窗体也能够有属于自己的菜单。
这些菜单的创定都能够利用MenuEditor来进行创建。
2、Imagelist控件
程序包括一个Imagelist控件,它用来为工具栏提供图片。
在程序的大体控件中没有此项控件,添加此控件的方式是在大体控件的空白处点击鼠标右键,在出现的快捷菜单当选择部件,以后在部件对话框中的部件选项卡当选择MicrosoftWindowscommoncontrols控件,肯定即可。
在窗体中添加一个Imagelist控件,名为默许的Imagelist1,再为此控件添加几个图标。
3、工具栏设计
工具栏提供了便捷的操作方式来完成应用程序常常利用的操作。
在此刻的Windows应用程序中,工具栏已经成为超级主要的组成部份。
本例工具栏的设计步骤为:
第一在窗体中添加一个toolbar控件,以后为此控件添加6个按钮,并把每一个按钮别离和Imagelist1控件的图片绑定。
4、状态栏设计
在主窗体上添加一个Statusbar控件,用鼠标右键点击此控件,在属性页的对话框中为窗体添加6个窗格,别离放置窗口信息和显示当前日期和时刻。
5、主窗体界面的代码实现
菜单的Click事件代码:
PrivateSubCEDIT_Click()
UnloadFrmjbgx
Unloadfrmcj
UnloadFrmHELP
UnloadFrmwelcome
Unloadfrmabout
LoadFrmjbwh
EndSub
PrivateSubcjwh_Click()
UnloadFrmjbgx
UnloadFrmjbwh
UnloadFrmHELP
UnloadFrmwelcome
Unloadfrmabout
Loadfrmcj
EndSub
PrivateSubEDIT_Click()
UnloadFrmjbwh
Unloadfrmcj
UnloadFrmHELP
UnloadFrmwelcome
Unloadfrmabout
LoadFrmjbgx
EndSub
PrivateSubAbsystem_Click()
UnloadFrmjbgx
Unloadfrmcj
UnloadFrmjbwh
UnloadFrmwelcome
Unloadfrmabout
LoadFrmHELP
EndSub
PrivateSubAhelp_Click()
UnloadFrmjbgx
Unloadfrmcj
UnloadFrmHELP
UnloadFrmwelcome
UnloadFrmjbwh
Loadfrmabout
EndSub
PrivateSubquit_Click()
UnloadFrmmain
EndSub
PrivateSubquit1_Click()
UnloadFrmmain
EndSub
窗体的Load事件代码:
PrivateSubMDIForm_Load()
LoadFrmwelcome
EndSub
工具栏的Buttonclick事件代码:
PrivateSubToolbar1_ButtonClick(ByValButtonAs
SelectCase
Case1
UnloadFrmjbwh
Unloadfrmcj
UnloadFrmHELP
UnloadFrmwelcome
Unloadfrmabout
LoadFrmjbgx
Case2
UnloadFrmjbgx
Unloadfrmcj
UnloadFrmHELP
UnloadFrmwelcome
Unloadfrmabout
LoadFrmjbwh
Case3
UnloadFrmjbgx
UnloadFrmjbwh
UnloadFrmHELP
UnloadFrmwelcome
Unloadfrmabout
Loadfrmcj
Case4
UnloadFrmjbgx
Unloadfrmcj
UnloadFrmHELP
UnloadFrmwelcome
UnloadFrmjbwh
Loadfrmabout
Case5
UnloadFrmjbgx
Unloadfrmcj
UnloadFrmjbwh
UnloadFrmwelcome
Unloadfrmabout
LoadFrmHELP
Case6
UnloadFrmmain
EndSelect
EndSub
(二)学生大体情形更新窗体的设计与实现
第一在工程中添加一个标准窗体并起名为Frmjbgx。
再在大体空间上添加一个通用对话框控件,方式是在大体控件的空白处按鼠标右键,选择部件,在部件对话框当选择MicrosoftCommonDialogControl控件,按肯定按钮。
然后在窗体上添加各类控件,如图1-3设计屏幕,然后添加程序代码。
在图中,其主要控件、主要属性、控件说明(一些次要控件如按钮、标签,次要属性如Height、Width除非特别,不然将不特别说明,读者能够按照具体情形来设定)如表1-4所示:
图1-3大体情形更新设计界面
表1-3控件、主要属性、控件说明表
控件名称
主要控件属性名称
属性值
功能说明
Frmjbgx
Caption
基本情况更新
名称
frmjbgx
BorderStyle
2–Sizable
Mdichild
True
把此窗体作为子窗体
Windowstate
Maximized
运行是最大化
Frame
名称
Frame1
Caption
基本情况更新
CommonDialog
名称
Commondialog1
Data
名称
Data1
Connect
Access
选择Access数据源
Databasename
选择数据源的名称
Recordsource
基本情况
和数据表进行绑定
Image
名称
Image1
Stretch
True
调整图片大小以适应该控件
Enabled
False
初始状态为不可用
Text
名称
Text1—Text9
text1_text9和数据库的基本情况表的各个字段进行绑定
Datasource
Data1
Datafield
学号—E_MAIL
Enabled
False
初始状态为不可用
Command
名称
Command4
Caption
放弃
Enabled
False
初始状态为不可用
Command
名称
Command10
Caption
添加照片
Enabled
False
初始状态为不可用
注意:
在设置Data1的Databasename属性时,不要之前的路径,如此能够不限制应用程序的路径。
窗体的运行结果如图1-4所示:
图1-4大体情形更新窗体的运行结果
大体情形更新设计代码实现
添加按钮的Click事件代码:
PrivateSubCommand1_Click()
OnErrorResumeNext
‘点击此按钮时,除舍弃和添加照片按钮外,其他均不可用
=Not
=Not
=Not
=Not
=Not
=Not
=Not
=Not
=Not
If="添加"Then
=True
=True
=True
=True
=True
=True
=True
=True
=True
=True
="确定"
‘添加一条空白记录
Else
=False
=False
=False
=False
=False
=False
=False
=False
=False
=False
‘把数据真正添加到表中
="添加"
EndIf
EndSub
删除按钮的Click事件代码:
PrivateSubCommand2_Click()
OnErrorResumeNext
ThenSub
修改按钮的Click事件代码:
PrivateSubCommand3_Click()
OnErrorResumeNext
=Not
=Not
=Not
=Not
=Not
If="修改"Then
=True
=True
=True
=True
=True
=True
=True
=True
=True
=True
="确定"
Else
="修改"
=False
=False
=False
=False
=False
=False
=False
=False
=False
=False
EndIf
EndSub
舍弃按钮的Click事件代码:
PrivateSubCommand4_Click()
OnErrorResumeNext
="添加"
="修改"
=True
=True
=False
=True
=True
=True
=True
=True
=False
=False
=False
=False
=False
=False
=False
=False
=False
=False
EndSub
查询按钮的Click事件代码:
PrivateSubCommand5_Click()
DimMNOAsString
MNO=InputBox$("请输入学号","查询窗")
"学号='"&MNO&"'"
IfThenMsgBox"无此学号",,"提示"
EndSub
上一个按钮的Click事件代码:
PrivateSubCommand6_Click()
OnErrorResumeNext
ThenSub
下一个按钮的Click事件代码:
PrivateSubCommand7_Click()
OnErrorResumeNext
ThenSub
第一个按钮的Click事件代码:
PrivateSubCommand8_Click()
Sub
最后一个按钮的Click事件代码:
PrivateSubCommand9_Click()
Sub
添加照片按钮的Click事件代码:
PrivateSubCommand10_Click()
‘挪用通用对话框
CommonDialog1=1
OnErrorResumeNext
If=""ThenExitSub
=LoadPicture
‘返回应用程序所在路径
ChDriveMid,1,1)
EndSub
窗体的Load事件代码:
PrivateSubForm_Load()
‘是Frame1框架在窗体加载时水平居中
=/2-/2
‘初始化通用对话框
="*.bmp"
="pictures(*.bmp)|*.bmp|pictures(*.jpg)|*.jpg|allfiles(*.*)|*.*"
=1
EndSub
窗体的Resize事件代码:
PrivateSubForm_Resize()
‘窗体的尺寸改变是,Frame1始终水平居中
=/2-/2
EndSub
(三)学生大体情形保护窗体的设计与实现
第一在工程中添加一个标准窗体并起名为Frmjbwh。
再在工程中添加一个数据环境,数据环境设计器为创建编程的数据访问提供了一个交互的、环境。
在设计时,您能够设置Connection和Command对象的属性值、编写代码响应ActiveX(R)DataObject(ADO)事件、执行Command、创建合计和层次结构。
您也能够将DataEnvironment对象拖动到窗体或报表中来创建数据绑定控件。
利用数据环境设计器,您能够完成下面的工作:
∙添加一个数据环境设计器到一个VisualBasic工程中。
∙创建Connection对象。
∙基于存储进程、表、视图、同义词和SQL语句创建Command对象。
∙基于Command对象的一个分组,或通过与一个或多个Command对象相关来创建command的层次结构。
∙为Connection和Recordset对象编写和运行代码。
∙从数据环境设计器中拖动一个Command对象中的字段到一个VisualBasic窗体或数据报表设计器。
本例设置数据环境的方式是:
选择工程菜单中的添加DataEnvironment,出现数据环境对话框如图1-5所示。
图1-5数据环境对话框
在图1-5中,用鼠标右键单击Dataenvironment1下的Connection1选择属性,出现数据连接属性对话框,如图1-6所示。
图1-6数据连接属性对话框
在图1-6中,在提供程序选项卡当选择数据引擎MicrosoftJetOLEDBProvider,按下一步按钮,进入连接选项卡如图1-7所示。
图1-7数据连接属性的连接选项卡
在图1-7中,在选择和输入数据库名称下边的文本框中,选择数据库,注意把前边的路径删除掉,如此能够不限制应用程序的路径。
按肯定按钮后,回到数据环境对话框,再用鼠标右键单击Connection1,在弹出的快捷菜单当选择添加命令选项,结果如图1-8所示。
图1-8添加一个命令后的窗口
在图1-8中,用鼠标右键单击Command1,在弹出的快捷菜单当选择属性,出现Command1属性对话框,如图1-9所示。
图1-9Command1属性对话框
在入1-9中,在数据源下边数据库对象后的下拉表当选择表,在对象名称后的下拉表当选择大体情形。
再在高级选项卡中,把锁定类型设成3-开放式,以便数据环境能够进行修改和删除操作。
以后,按肯定按钮,回到数据环境对话框。
在用鼠标右键点击Command1,在出现的快捷菜单当选择添加子命令,结果如图1-10所示。
图1-10添加子命令后窗口
在图1-10中,再设置command2的属性,方式同设置Command1属性,把Command2的数据对象设为学生成绩表。
在关联选项卡中设置用学号同父命令对象相关联。
结果如图1-11所示。
图1-11和父命令对象关联窗口
数据环境成立完成后,回到Frmjbwh窗体中,在大体控件中添加一个DataGrid控件,方式是在大体控件的空白处按鼠标右键,选择部件,在部件对话框当选择MicrosoftDataGridControl(OLEDB)控件,按肯定按钮。
DataGrid控件是一种类似于电子数据表的绑定控件,能够显示一系列行和列来表示Recordset对象的记录和字段。
能够利用DataGrid来创建一个允许最终用户阅读和写入到绝大多数数据库的应用程序。
DataGrid控件能够在设计时快速进行配置,只需少量代码或无需代码。
当在设计时设置了DataGrid控件的DataSource属性后,就会用数据源的记录集来自动填充该控件,和自动设置该控件的列标头。
然后您就可以够编辑该网格的列;删除、从头安排、添加列标头、或调整任意一列的宽度。
在窗体上添加各类控件,如图1-12设计屏幕。
在图中,其主要控件、主要属性、控件说明如表1-4所示:
图1-12学生大体情形保护设计界面
表1-4控件、主要属性、控件说明表
控件名称
主要控件属性名称
属性值
功能说明
Frmjbwh
Caption
基本情况维护
名称
Frmjbwh
BorderStyle
2–Sizable
Mdichild
True
把此窗体作为子窗体
Windowstate
Maximized
运行是最大化
Datagrid
名称
Datagrid1
Datasource
Dataenvironment1
把数据环境设成数据源
Datamember
Command1
数据成员设成数据环境中的Command1命令
窗体的运行结果如图1-13所示:
图1-13学生大体情形保护的运行结果
大体情形保护设计代码实现
在通用区域声明一个全局变量key,以便在选择专业时利用:
PublickeyAsString
选择班级按钮的Click事件代码:
PrivateSubselzy_Click()
=""
‘把对话框窗体Dialog设置成显示模式
vbModal
‘按Dialog窗体的key变量的返回值进行挑选
If<>""Then
="班级='"&key&"'"
=False
EndIf
UnloadDialog
EndSub
修改按钮的Click事件代码:
PrivateSubComup_Click()
=True
EndSub
添加按钮的Click事件代码:
PrivateSubComadd_Click()
=True
‘添加操作
Sub
删除按钮的Click事件代码:
PrivateSubComdel_Click()
‘设置DataGrid1为可删除状态
=True
=TrueThenSub
打印按钮的Click事件代码:
PrivateSubComprint_Click()
‘显示并打印报表
EndSub
窗体的Resize事件代码:
PrivateSubForm_Resize()
‘使frame1始终居中
=/2-/2
=/2-/2
EndSub
窗体的Unload事件代码:
PrivateSubForm_Unload(CancelAsInteger)
‘恢复数据环境的挑选
=adFilterNone
EndSub
(四)学生大体情形保护中班级选择对话框的设计与实现:
第一,在工程中添加一个对话框起名为,再在大体控件中添加一个ADOData控件,方式是在大体控件的空白处按鼠标右键,选择部件,在部件对话框当选择MicrosoftADODataControl控件,按肯定按钮。
这时,大体控件上就出现了ADOData控件。
ADOData控件利用MicrosoftActiveX数据对象(ADO)来快速成立数据绑定的控件和数据提供者之间的连接。
数据绑定控件是任何具有“数据源”属性的控件。
数据提供者能够是任何符合OLEDB规范的数据源。
利用VisualBasic的类模块也能够很方便地创建子集的数据提供者。
它还有作为一个图形控件的优势(具有“向前”和“向后”按钮),和一个易于利用的界面,使您能够用最少的代码创建数据库应用程序。
然后,在窗体上添加各类控件,如图1-14设计屏幕。
在图中,其主要控件、主要属性、控件说明如表1-5所示:
图1-14班级选择窗体设计图
表1-5控件、主要属性、控件说明表
控件名称
主要控件属性名称
属性值
功能说明
Dialog
Caption
班级选择对话框
名称
Dia