学生学籍管理系统VB论文Word格式.docx

上传人:b****2 文档编号:5826080 上传时间:2023-05-05 格式:DOCX 页数:69 大小:350.03KB
下载 相关 举报
学生学籍管理系统VB论文Word格式.docx_第1页
第1页 / 共69页
学生学籍管理系统VB论文Word格式.docx_第2页
第2页 / 共69页
学生学籍管理系统VB论文Word格式.docx_第3页
第3页 / 共69页
学生学籍管理系统VB论文Word格式.docx_第4页
第4页 / 共69页
学生学籍管理系统VB论文Word格式.docx_第5页
第5页 / 共69页
学生学籍管理系统VB论文Word格式.docx_第6页
第6页 / 共69页
学生学籍管理系统VB论文Word格式.docx_第7页
第7页 / 共69页
学生学籍管理系统VB论文Word格式.docx_第8页
第8页 / 共69页
学生学籍管理系统VB论文Word格式.docx_第9页
第9页 / 共69页
学生学籍管理系统VB论文Word格式.docx_第10页
第10页 / 共69页
学生学籍管理系统VB论文Word格式.docx_第11页
第11页 / 共69页
学生学籍管理系统VB论文Word格式.docx_第12页
第12页 / 共69页
学生学籍管理系统VB论文Word格式.docx_第13页
第13页 / 共69页
学生学籍管理系统VB论文Word格式.docx_第14页
第14页 / 共69页
学生学籍管理系统VB论文Word格式.docx_第15页
第15页 / 共69页
学生学籍管理系统VB论文Word格式.docx_第16页
第16页 / 共69页
学生学籍管理系统VB论文Word格式.docx_第17页
第17页 / 共69页
学生学籍管理系统VB论文Word格式.docx_第18页
第18页 / 共69页
学生学籍管理系统VB论文Word格式.docx_第19页
第19页 / 共69页
学生学籍管理系统VB论文Word格式.docx_第20页
第20页 / 共69页
亲,该文档总共69页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

学生学籍管理系统VB论文Word格式.docx

《学生学籍管理系统VB论文Word格式.docx》由会员分享,可在线阅读,更多相关《学生学籍管理系统VB论文Word格式.docx(69页珍藏版)》请在冰点文库上搜索。

学生学籍管理系统VB论文Word格式.docx

通过调查,要求系统需要有以下功能:

⑴由于操作人员的计算机知识普遍较差,要求有良好的人机界面;

⑵由于该系统的使用对象多,要求有较好的权限管理;

⑶原始数据修改简单方便,支持多条件修

⑷方便的数据查询,支持多条件查询;

⑸在相应的权限下,删除数据方便简单,数据稳定性好;

⑹数据计算自动完成,尽量减少人工干预;

第二章可行性分析

由于本系统管理的对象单一,都是学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。

因此,比较适合于采用数据库管理。

在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。

本系统的设计是在WindowsXP操作系统环境下,使用VisualBasic6.0中文版开发成功的。

数据库是MIS中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要的问题,本系统选用的数据库语言介绍如下:

VisualBasic具有以下特点:

(1)可视化编程:

用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。

如果对界面的效果不满意,还要回到程序中修改有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。

VisualBasic提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。

只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。

VisualBasic自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。

(2)面向对象的程序设计

4.0版以后的VisualBasic支持面向对象的程序设计,是应用面向对象的程序设计方法(OOP),把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。

在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,VisualBasic自动生成对象的程序代码并封装起来。

每个对象以图形方式显示在界面上,都是可视的。

第三章系统设计

1.系统功能分析

系统开发的总体任务是实现学生信息关系的系统化,规范化和自动化。

学生管理系统需要完成的功能主要有:

●学生信息的输入,包括输入学生基本信息、所在班级、所学课和成绩等。

●学生信息的查询,包括输入学生基本信息、所在班级、已学课程和成绩等。

●学生信息的修改。

●班级管理信息的输入、查询、修改,包括输入班级设置,年级信息等。

●基本课程信息的输入、查询、修改。

●学生成绩信息的输入、查询、修改。

对上述各功能进行集中、分块、按照结构化程序设计的要求。

图3-1系统功能模块图

2.系统流程图

图3-2系统流程图

第四章、数据库设计

1.数据库需求分析

●用户信息:

包括的数据项有:

用户名、密码、用户描述。

●学生基本信息:

学生学号、学生姓名、性别、出生日期、班号、联系电话、入校日期、家庭地址、备注等。

●班级信息:

班号、所在年级、班主任姓名、所在教室等。

●课程基本信息:

课程号、课程名称、课程类别、课程描述等。

●课程设置信息:

年级信息、所学课程等。

●学生成绩信息:

考试编号、所在班号、学生学号、学生

姓名、所学课程、考试分数等。

图4-1学生管理系统数据流程图

2.数据库概念结构设计

本系统的实体有:

学生实体、班级实体、年级实体、课程实体。

各个实体具体的描述E-R图如图下所示。

图4-2学生实体E—R图

图4-3班级实体E—R图

图4-4课程实体E—R图

图4-5年级实体E—R图

图4-6实体之间关系E—R图

现在需要将上面的数据库概念结构转化为SQLServer2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。

学生管理系统数据库中各个表格的设计结果如下面的几个表所示。

每个表表示在数据库中的一个数据表

表4-1student-info学生基本信息表

表4-2class-info班级基本信息表

表4-3course-info课程基本信息表

表4-4gradecourse-info年级课程设置表格

表4-5result-info学生成绩基本信息表

表4-6user-info系统用户表

3.数据库结构的实现

经过前面的需求分析和概念结构设计以后,得到数据库的逻辑结构。

就可以在SQLServr2000数据库系统中实现该逻辑结构,利用SQLServer2000数据库系统中SQL查询分析器实现的。

(1)创建系统用户表格user_info

CREATETABLE[dbo].[user_Info](

[user_ID][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,

[user_PWD][char](10)COLLATEChinese_PRC_CI_ASNULL,

[user_Des][char](10)COLLATEChinese_PRC_CI_ASNULL

)ON[PRIMARY]

GO

(2)创建学生基本信息表格student_info

CREATETABLE[dbo].[student_Info](

[student_ID][int]NOTNULL,

[student_Name][char](10)COLLATEChinese_PRC_CI_ASNULL,

[student_Sex][char]

(2)COLLATEChinese_PRC_CI_ASNULL,

[born_Date][datetime]NULL,

[class_NO][int]NULL,

[tele_Number][char](10)COLLATEChinese_PRC_CI_ASNULL,

[ru_Date][datetime]NULL,

[address][varchar](50)COLLATEChinese_PRC_CI_ASNULL,

[comment][varchar](200)COLLATEChinese_PRC_CI_ASNULL

(3)创建班级信息表格class-info

CREATETABLE[dbo].[class_Info](

[class_No][int]NOTNULL,

[grade][char](10)COLLATEChinese_PRC_CI_ASNULL,

[director][char](10)COLLATEChinese_PRC_CI_ASNULL,

[classroom_No][char](10)COLLATEChinese_PRC_CI_ASNULL

(4)创建课程基本信息表格course-info

CREATETABLE[dbo].[course_Info](

[course_No][int]NOTNULL,

[course_Name][char](10)COLLATEChinese_PRC_CI_ASNULL,

[course_Type][char](10)COLLATEChinese_PRC_CI_ASNULL,

[course_Des][char](50)COLLATEChinese_PRC_CI_ASNULL

(5)创建年级课程设置信息表gradecourse-info

CREATETABLE[dbo].[gradecourse_Info](

[course_Name][char](10)COLLATEChinese_PRC_CI_ASNULL

(6)创建学生成绩信息表result-info

CREATETABLE[dbo].[result_Info](

[exam_No][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,

[class_No][int]NULL,

[result][float]NULL

第五章、详细设计

1主窗体的创建

上面的SQL语句在SQLServer2000中查询分析器执行后,将自动产生需要的所有表。

有关数据库结构的所有后台工作已经完成。

现在将通过学生管理系统中各个功能模块的实现,来编写数据库系统的客户端程序。

1.创建工程项目——Student-MIS

为了用VisualBasic创建应用程序,应当使用工程。

一个工程是用来建造应用程序的文件的集合,它包括:

●跟踪所有部件的工程文件(.vbp)。

●每个窗体的文件(.frm)。

●每个窗体的二进制数据文件(.frx),它含有窗体上控件的属性数据。

对含有二进制属性的任何.frm文件都是不可编辑的,这些文件都是自动产生的。

●每个类模块的一个文件(.cls),该文件是可选项。

●每个标准模块的一个文件(.bas),该文件是可选项。

●一个或多个包含ActiveX控件的文件(.ocx),该文件是可选项。

●单个资源文件(.res),该文件是可选项。

启动VisualBasic后,单击File|NewProject菜单,如图所示的工程模块中选择StandardEXE,VisualBasic将自动产生一个Form窗体,属性都是缺省设置。

这里我们删除这个窗体,单击File|NewProject菜单,将这个工程项目命名为Student-MIS。

如图5-1:

创建Student-MIS项目

2.创建主窗体

VisualBasic创建的应用程序可以是SDI(单文档界面)和MDI(多文档界面)。

在SDI的程序中,每个窗体之间是独立的。

而MDI的程序中,有一个窗体是主窗体,可以包含其他窗体,它的类型是MDIForm。

本系统采用多文档界面,这样可以使程序更加美观,整齐有序。

单击工具栏的“ADDMDIForm”按钮,生成一个如下所示的窗体,

图5-2程序主窗体

创建主窗体的菜单:

图5-3主窗体中菜单结构

3.创建公用模块

在VisualBasic中可以用共用模块来存放整个工程项目公用的函数、全局变量等。

整个工程项目中的任何地方都可以调用公用模块中的函数、变量,这样可以极大地提高代码的效率。

在项目资源管理器中为项目添加一个Module,保存为Module.bas。

下面就可以开始添加需要的代码。

由于系统中各个功能模块都将频繁使用数据库中的各种数据,因此需要一个公共的数据操作函数,用以执行各种SQL语句。

添加函数ExecuteSQL,代码如下:

PublicFunctionExecuteSQL(ByValSQL_

AsString,MsgStringAsString)_

AsADODB.Recordset

'

传递参数SQL查询语句,MsgString传递查询信息

自身以一个数据集对象的形式返回

DimCNnAsADODB.Connection

定义连接

DimrstAsADODB.Recordset

定义字符串

DimsTokens()AsString

异常处理

OnErrorGoToExecuteSQL_Error

用Split函数产生一个包含各个子串的数组

sTokens=Split(SQL)

创建连接

SetCNn=NewADODB.Connection

CNn.OpenConnectString

判断字符串中是否有指定内容

IfInStr("

INSERT,DELETE,UPDATE"

_

UCase$(sTokens(0)))Then

执行查询语句

CNn.ExecuteSQL

返回查询信息

MsgString=sTokens(0)&

_

"

querysuccessful"

Else

创建数据集对象

Setrst=NewADODB.Recordset

返回查询结果

rst.OpenTrim$(SQL),CNn,_

adOpenKeyset,_

adLockOptimistic

rst.MoveLast'

getRecordCount

SetExecuteSQL=rst

MsgString="

查询到"

&

rst.RecordCount&

EndIf

ExecuteSQL_Exit:

清空数据集对象

Setrst=Nothing

中断连接

SetCNn=Nothing

ExitFunction

错误类型判断

ExecuteSQL_Error:

查询错误:

"

Err.Description

ResumeExecuteSQL_Exit

EndFunction

ExecuteSQL函数有两了参数:

SQL和MsgString。

其中SQL用来存放需要执行的SQL语句,MsgString用来返回执行的提示信息。

函数执行时,首先判断SQL语句中包含的内容。

当执行查询操作时,ExecuteSQL函数将返回一个与函数同名的记录名对象(Recordset),所有满足条件的记录包含在对象中。

当执行如删除、更新、添加等操作时,不返回记录集对象。

在ExecuteSQL函数中使用ConnectString函数,这个函数用来连接数据库,代码如下:

PublicFunctionConnectString()_

AsString

返回一个数据库连接

ConnectString="

FileDSN=studentinfo.dsn;

UID=sa;

PWD="

由于在后面的程序中,需要频繁检查各种文本框的内容是否为空,这里定义了Testtxt函数,代码如下:

PublicFunctionTesttxt(txtAsString)AsBoolean

IfTrim(txt)="

Then

Testtxt=False

Testtxt=True

由于学生管理系统启动后,需要对用户进行判断。

如果登录者是授权用户,将进入系统,否则将停止程序的执行。

这个判断需要在系统运行的最初进行,因此将代码放在公用模块中,代码如下:

PublicfMainFormAsfrmMain

PublicUserNameAsString

SubMain()

DimfLoginAsNewfrmLogin

显示登陆窗体

fLogin.ShowvbModal

判断是否授权用户

IfNotfLogin.OKThen

LoginFailedsoexitapp

End

UnloadfLogin

SetfMainForm=NewfrmMain

fMainForm.Show

EndSub

过程Main将在系统启动是首先执行,这就保证对用户的管理。

2.用户管理模块的创建

系统管理模块主要实现:

●用户登录。

●添加用户。

●修改用户密码。

1.用户登陆窗体的创建

系统启动后,将首先出现如下所示的用户登陆窗体,用户首先输入用户名,然后输入密码。

如果用户3次输入密码不正确,将退出程序。

图5-4用户登录窗体

用户登陆窗体中放置了两个文本框(TextBox),用来输入用户名和用户密码。

两个按钮(CommandButton)用来确定或者取消登陆。

2个标签(Label)用来标示窗体的信息。

为窗体定义全局变量OK,用来判断登陆是否成功。

定义miCount,用来记载输入密码的次数。

并且在载入窗体时初始化这两个全局变量,代码如下:

强制变量声明

OptionExplicit

PublicOKAsBoolean

记录确定次数

DimmiCountAsInteger

PrivateSubForm_Load()

DimsBufferAsString

DimlSizeAsLong

sBuffer=Space$(255)

lSize=Len(sBuffer)

CallGetUserName(sBuffer,lSize)

IflSize>

0Then

txtUserName.Text="

txtUserName.Text=vbNullString

OK=False

miCount=0

OptionExplicit是用来规定所有变量使用前必须定义。

这样可以避免由于输入错误而产生的新变量。

当用户输入完用户名和用户密码,单击cmdOK按钮将对用户输入信息进行判断。

用户单击该按钮,将触发按钮cmdOK的Click事件,代码如下:

PrivateSubcmdOK_Click()

用来存放SQL语句

DimtxtSQLAsString

用来存放记录集对象

DimmrcAsADODB.Recordset

用来存放返回信息

DimMsgTextAsString

UserName="

判断输入用户名是否为空

IfTrim(txtUserName.Text="

)Then

MsgBox"

没有这个用户,请重新输入用户名!

vbOKOnly+vbExclamation,"

警告"

txtUserName.SetFocus

txtSQL="

select*fromuser_Infowhereuser_ID='

txtUserName.Text&

Setmrc=Execut

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2