学生管理信息系统.docx
- 文档编号:27698164
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:39
- 大小:488.05KB
学生管理信息系统.docx
《学生管理信息系统.docx》由会员分享,可在线阅读,更多相关《学生管理信息系统.docx(39页珍藏版)》请在冰豆网上搜索。
学生管理信息系统
学生档案管理系统项目应用开发
数据库应用程序的开发始终算得上是VB编程中的难点,这是因为你不仅要熟悉VB中关于数据库编程方面的知识(当然这是十分简单的)还要了解数据库的知识。
本系统主要用来实现学生基本情况和学生成绩的录入、修改、查询、删除和打印等功能。
通过本系统,可以了解如何使用VisualBasic来开发一个比较完整的数据库应用程序。
用到的数据库控件有DATA、ADO,添加的一个数据环境。
一、系统结构图
本系统主要包括学生基本情况更新,学生基本情况维护和学生成绩维护3个大的模块,各个模块的具体功能如图所示:
图1-1应用程序的功能模块结构图
二、数据库的建立
本系统用到的数据库是用VisualBasic的外加工具VisualDataManager(可视化数据管理器)创建,名为student.mdb(是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中的VersionMDB2.0版本);
3、在选择要创建的MicrosoftAccess数据库对话框中,输入数据库名student,按确定按钮进入数据库窗口;
4、在数据库窗口中单击鼠标右键并从弹出式菜单中选择新建表来创建student.mdb数据库中的两个表(基本情况表和学生成绩表)。
三、各个窗体的设计与实现
(一)主窗体的设计与实现
首先在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控件,它用来为工具栏提供图片。
在程序的基本控件中没有此项控件,添加此控件的方法是在基本控件的空白处点击鼠标右键,在出现的快捷菜单中选择部件,之后在部件对话框中的部件选项卡中选择MicrosoftWindowscommoncontrols6.0控件,确定即可。
在窗体中添加一个Imagelist控件,名为默认的Imagelist1,再为此控件添加几个图标。
3、工具栏设计
工具栏提供了便捷的操作方式来完成应用程序常用的操作。
在现在的Windows应用程序中,工具栏已经成为非常主要的组成部分。
本例工具栏的设计步骤为:
首先在窗体中添加一个toolbar控件,之后为此控件添加6个按钮,并把每个按钮分别和Imagelist1控件的图片绑定。
4、状态栏设计
在主窗体上添加一个Statusbar控件,用鼠标右键点击此控件,在属性页的对话框中为窗体添加6个窗格,分别放置窗口信息和显示当前日期和时间。
5、主窗体界面的代码实现
菜单的Click事件代码:
PrivateSubCEDIT_Click()
UnloadFrmjbgx
Unloadfrmcj
UnloadFrmHELP
UnloadFrmwelcome
Unloadfrmabout
LoadFrmjbwh
Frmjbwh.Show
EndSub
PrivateSubcjwh_Click()
UnloadFrmjbgx
UnloadFrmjbwh
UnloadFrmHELP
UnloadFrmwelcome
Unloadfrmabout
Loadfrmcj
frmcj.Show
EndSub
PrivateSubEDIT_Click()
UnloadFrmjbwh
Unloadfrmcj
UnloadFrmHELP
UnloadFrmwelcome
Unloadfrmabout
LoadFrmjbgx
Frmjbgx.Show
EndSub
PrivateSubAbsystem_Click()
UnloadFrmjbgx
Unloadfrmcj
UnloadFrmjbwh
UnloadFrmwelcome
Unloadfrmabout
LoadFrmHELP
FrmHELP.Show
EndSub
PrivateSubAhelp_Click()
UnloadFrmjbgx
Unloadfrmcj
UnloadFrmHELP
UnloadFrmwelcome
UnloadFrmjbwh
Loadfrmabout
frmabout.Show
EndSub
PrivateSubquit_Click()
Frmmain.Hide
UnloadFrmmain
EndSub
PrivateSubquit1_Click()
Frmmain.Hide
UnloadFrmmain
EndSub
窗体的Load事件代码:
PrivateSubMDIForm_Load()
LoadFrmwelcome
Frmwelcome.Show
EndSub
工具栏的Buttonclick事件代码:
PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)
SelectCaseButton.Index
Case1
UnloadFrmjbwh
Unloadfrmcj
UnloadFrmHELP
UnloadFrmwelcome
Unloadfrmabout
LoadFrmjbgx
Frmjbgx.Show
Case2
UnloadFrmjbgx
Unloadfrmcj
UnloadFrmHELP
UnloadFrmwelcome
Unloadfrmabout
LoadFrmjbwh
Frmjbwh.Show
Case3
UnloadFrmjbgx
UnloadFrmjbwh
UnloadFrmHELP
UnloadFrmwelcome
Unloadfrmabout
Loadfrmcj
frmcj.Show
Case4
UnloadFrmjbgx
Unloadfrmcj
UnloadFrmHELP
UnloadFrmwelcome
UnloadFrmjbwh
Loadfrmabout
frmabout.Show
Case5
UnloadFrmjbgx
Unloadfrmcj
UnloadFrmjbwh
UnloadFrmwelcome
Unloadfrmabout
LoadFrmHELP
FrmHELP.Show
Case6
Frmmain.Hide
UnloadFrmmain
EndSelect
EndSub
(二)学生基本情况更新窗体的设计与实现
首先在工程中添加一个标准窗体并起名为Frmjbgx。
再在基本空间上添加一个通用对话框控件,方法是在基本控件的空白处按鼠标右键,选择部件,在部件对话框中选择MicrosoftCommonDialogControl6.0控件,按确定按钮。
然后在窗体上添加各种控件,如图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
Student.mdb
选择数据源的名称
Recordsource
基本情况
和数据表进行绑定
Image
名称
Image1
Stretch
True
调整图片大小以适应该控件
Enabled
False
初始状态为不可用
Text
名称
Text1—Text9
text1_text9和数据库Student.mdb的基本情况表的各个字段进行绑定
Datasource
Data1
Datafield
学号—E_MAIL
Enabled
False
初始状态为不可用
Command
名称
Command4
Caption
放弃
Enabled
False
初始状态为不可用
Command
名称
Command10
Caption
添加照片
Enabled
False
初始状态为不可用
注意:
在设置Data1的Databasename属性时,不要student.mdb之前的路径,这样可以不限制应用程序的路径。
窗体的运行结果如图1-4所示:
图1-4基本情况更新窗体的运行结果
基本情况更新设计代码实现
添加按钮的Click事件代码:
PrivateSubCommand1_Click()
OnErrorResumeNext
‘点击此按钮时,除放弃和添加照片按钮外,其他均不可用
Command2.Enabled=NotCommand2.Enabled
Command3.Enabled=NotCommand3.Enabled
Command4.Enabled=NotCommand4.Enabled
Command5.Enabled=NotCommand5.Enabled
Command6.Enabled=NotCommand6.Enabled
Command7.Enabled=NotCommand7.Enabled
Command8.Enabled=NotCommand8.Enabled
Command9.Enabled=NotCommand9.Enabled
Command10.Enabled=NotCommand10.Enabled
IfCommand1.Caption="添加"Then
Text1.Enabled=True
Text2.Enabled=True
Text3.Enabled=True
Text4.Enabled=True
Text5.Enabled=True
Text6.Enabled=True
Text7.Enabled=True
Text8.Enabled=True
Text9.Enabled=True
Image1.Enabled=True
Command1.Caption="确定"
‘添加一条空白记录
Data1.Recordset.AddNew
Text1.SetFocus
Else
Text1.Enabled=False
Text2.Enabled=False
Text3.Enabled=False
Text4.Enabled=False
Text5.Enabled=False
Text6.Enabled=False
Text7.Enabled=False
Text8.Enabled=False
Text9.Enabled=False
Image1.Enabled=False
‘把数据真正添加到表中
Data1.Recordset.Update
Data1.Recordset.MoveLast
Command1.Caption="添加"
EndIf
EndSub
删除按钮的Click事件代码:
PrivateSubCommand2_Click()
OnErrorResumeNext
Data1.Recordset.Delete
Data1.Recordset.MoveNext
IfData1.Recordset.EOFThenData1.Recordset.MoveLast
EndSub
修改按钮的Click事件代码:
PrivateSubCommand3_Click()
OnErrorResumeNext
Command1.Enabled=NotCommand1.Enabled
Command2.Enabled=NotCommand2.Enabled
Command4.Enabled=NotCommand4.Enabled
Command5.Enabled=NotCommand5.Enabled
Command10.Enabled=NotCommand10.Enabled
IfCommand3.Caption="修改"Then
Text1.Enabled=True
Text2.Enabled=True
Text3.Enabled=True
Text4.Enabled=True
Text5.Enabled=True
Text6.Enabled=True
Text7.Enabled=True
Text8.Enabled=True
Text9.Enabled=True
Image1.Enabled=True
Data1.Recordset.EDIT
Text1.SetFocus
Command3.Caption="确定"
Else
Command3.Caption="修改"
Data1.Recordset.Update
Text1.Enabled=False
Text2.Enabled=False
Text3.Enabled=False
Text4.Enabled=False
Text5.Enabled=False
Text6.Enabled=False
Text7.Enabled=False
Text8.Enabled=False
Text9.Enabled=False
Image1.Enabled=False
EndIf
EndSub
放弃按钮的Click事件代码:
PrivateSubCommand4_Click()
OnErrorResumeNext
Command1.Caption="添加"
Command3.Caption="修改"
Command1.Enabled=True
Command3.Enabled=True
Command4.Enabled=False
Command5.Enabled=True
Command6.Enabled=True
Command7.Enabled=True
Command8.Enabled=True
Command9.Enabled=True
Data1.UpdateControls
Data1.Recordset.MoveLast
Text1.Enabled=False
Text2.Enabled=False
Text3.Enabled=False
Text4.Enabled=False
Text5.Enabled=False
Text6.Enabled=False
Text7.Enabled=False
Text8.Enabled=False
Text9.Enabled=False
Image1.Enabled=False
EndSub
查询按钮的Click事件代码:
PrivateSubCommand5_Click()
DimMNOAsString
MNO=InputBox$("请输入学号","查询窗")
Data1.Recordset.FindFirst"学号='"&MNO&"'"
IfData1.Recordset.NoMatchThenMsgBox"无此学号",,"提示"
EndSub
上一个按钮的Click事件代码:
PrivateSubCommand6_Click()
OnErrorResumeNext
Data1.Recordset.MovePrevious
IfData1.Recordset.BOFThenData1.Recordset.MoveFirst
EndSub
下一个按钮的Click事件代码:
PrivateSubCommand7_Click()
OnErrorResumeNext
Data1.Recordset.MoveNext
IfData1.Recordset.EOFThenData1.Recordset.MoveLast
EndSub
第一个按钮的Click事件代码:
PrivateSubCommand8_Click()
Data1.Recordset.MoveFirst
EndSub
最后一个按钮的Click事件代码:
PrivateSubCommand9_Click()
Data1.Recordset.MoveLast
EndSub
添加照片按钮的Click事件代码:
PrivateSubCommand10_Click()
‘调用通用对话框
CommonDialog1=1
OnErrorResumeNext
IfCommonDialog1.FileName=""ThenExitSub
Image1.Picture=LoadPicture(CommonDialog1.FileName)
‘返回应用程序所在路径
ChDriveMid(App.Path,1,1)
EndSub
窗体的Load事件代码:
PrivateSubForm_Load()
‘是Frame1框架在窗体加载时水平居中
Frame1.Left=Frmjbgx.Width/2-Frame1.Width/2
‘初始化通用对话框
CommonDialog1.FileName="*.bmp"
CommonDialog1.Filter="pictures(*.bmp)|*.bmp|pictures(*.jpg)|*.jpg|allfiles(*.*)|*.*"
CommonDialog1.FilterIndex=1
EndSub
窗体的Resize事件代码:
PrivateSubForm_Resize()
‘窗体的尺寸改变是,Frame1始终水平居中
Frame1.Left=Frmjbgx.Width/2-Frame1.Width/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中,在提供程序选项卡中选择数据引擎MicrosoftJet3.51OLEDBProvider,按下一步按钮,进入连接选项卡如图1-7所示。
图1-7数据连接属性的连接选项卡
在图1-7中,在选择和输入数据库名称下边的文本框中,选择数据库Student.mdb,注意把student.mdb前边的路径删除掉,这样可以不限制应用程序的路径。
按确定按钮后,回到数据环境对话框,再用鼠标右键单击Connection1,在弹出的快捷菜单中选择添加命令选项,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 管理信息系统
![提示](https://static.bdocx.com/images/bang_tan.gif)