毕业设计学生档案管理系统的设计实现分析精品.docx

上传人:b****7 文档编号:11097271 上传时间:2023-02-25 格式:DOCX 页数:39 大小:320.06KB
下载 相关 举报
毕业设计学生档案管理系统的设计实现分析精品.docx_第1页
第1页 / 共39页
毕业设计学生档案管理系统的设计实现分析精品.docx_第2页
第2页 / 共39页
毕业设计学生档案管理系统的设计实现分析精品.docx_第3页
第3页 / 共39页
毕业设计学生档案管理系统的设计实现分析精品.docx_第4页
第4页 / 共39页
毕业设计学生档案管理系统的设计实现分析精品.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

毕业设计学生档案管理系统的设计实现分析精品.docx

《毕业设计学生档案管理系统的设计实现分析精品.docx》由会员分享,可在线阅读,更多相关《毕业设计学生档案管理系统的设计实现分析精品.docx(39页珍藏版)》请在冰豆网上搜索。

毕业设计学生档案管理系统的设计实现分析精品.docx

毕业设计学生档案管理系统的设计实现分析精品

学生档案管理系统项目应用开发

数据库应用程序的开发始终算得上是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前边的路径删除掉,这样可以不限制应用程序的路径。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1