收藏 分享(赏)

vb教务管理信息系统.doc

上传人:gnk289057 文档编号:5153597 上传时间:2019-02-10 格式:DOC 页数:18 大小:288KB
下载 相关 举报
vb教务管理信息系统.doc_第1页
第1页 / 共18页
vb教务管理信息系统.doc_第2页
第2页 / 共18页
vb教务管理信息系统.doc_第3页
第3页 / 共18页
vb教务管理信息系统.doc_第4页
第4页 / 共18页
vb教务管理信息系统.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、目录1.系统任务的提出和功能说明 .11.1 任务的提出 11.2 系统软件运行的硬件和软件要求 11.3 系统主要功能说明 11.4 系统结构图 22.软件系统的设计方法及属性、事件代码 .22.1 数据结构 22.2 功能模块 32.2.1 登录界面的设计 32.2.2 主窗体的设计 62.2.3 “系统”各子菜单程序的设计 82.2.4 “学籍管理 ”程序的设计 .103.程序调试及故障分析 .171.系统任务的提出和功能说明1.1 任务的提出随着科学技术的发展,计算机已被广泛的用于社会的各个领域,成为推动社会发展的技术动力。而在计算机应用中,软件的作用十分突出,软件已经发展成为信息技术

2、的核心,主导着信息产品的开发和信息技术市场的进一步的开拓。软件产业已成为社会信息化进程中的一个战略性产业。在软件技术的应用中,软件的开发技术尤其是应用型软件产品的开发技术成了重中之重。不断开发适应用户需求、市场需要的新型软件产品迫在眉睫。随着社会的发展,软件也在不断的1更新换代。计算机领域不断取得的新研究成果使计算机在代替和延伸脑力劳动方面发挥越来越重要的作用,不仅在工业方面而且在日常生活中也越来越离不开计算机。尤其是在学校里,要处理大量的学生数据。在数字化的今天,使用教务管理信息系统能使学校对学生数据的管理更加简单、到位,可大大的减轻管理人员的负担,实现高效办公。1.2 系统软件运行的硬件和

3、软件要求一台个人电脑,安装了 Microsoft SQL Server 数据库管理软件1.3 系统主要功能说明本教务管理信息系统可实现学生基本信息、成绩信息、课程信息、学院信息、选课信息、学籍信息等的录入、修改、查询、更新和删除。程序分为以下四个模块:用户注册信息管理、学籍管理、班级管理、成绩管理功能模块。1.4 系统结构图登录模块系统模块 学籍管理 班级管理 成绩管理 帮助修改密码 添加用户 退出系统 添加学籍信息修改学籍信息查询学籍信息 22.软件系统的设计方法及属性、事件代码2.1 数据结构用 sql server 2000 建立数据库教务管理信息系统,包含有 Userid、Class、

4、Student、Score四个表,表的结构如下所示:Userid 表的结构:Class 表的结构:Student 表的结构:Score 表的结构:32.2 功能模块2.2.1 登录界面的设计1、登录界面的窗体如下:注意:将两个 textbox 控件的 name 属性修改为 txtusername、txtuserpassword。2、使用“解决方案资源管理器”在当前项目中增加一个模块,名为 module1.vb,模块中的程序代码如下:Imports System.Data.SqlClientModule module1Public adocmd As SqlDataAdapterPublic d

5、s As DataSet = New DataSet() 建立dataset对象Public mytable As DataTable 建立表对象Public myrow As DataRow 建立数据行对象Public rownumber As Integer 定义一个整型变量来存放当前行数Public searchsql As StringPublic cmd As SqlCommandBuilder定义一个判断字符串是否为空的函数Public Function testtxt(ByVal txt As String) As BooleanIf Trim(txt) = “ Thentest

6、txt = FalseElsetesttxt = TrueEnd If4End Function定义一个执行sql语句的函数Public Sub executesql(ByVal sql As String, ByVal table As String)TryDim constr As Stringconstr = “server=localhost;database=教务管理信息系统;integrated security=true“adocmd = New SqlDataAdapter(sql, constr)ds.Clear()ds.Tables.Clear()adocmd.Fill(d

7、s, table)mytable = ds.Tables.Item(0) 取得名为table的表rownumber = 0 设置为第一行myrow = mytable.Rows.Item(rownumber) 取得第一行数据Catch ex As ExceptionMsgBox(Err.Description)End TryEnd SubEnd Module3、在 txtusername 的 validating 事件中写入代码:If txtusername.Text = “ ThenErrorProvider1.SetError(txtusername, “用户名不能为空“)ElseErro

8、rProvider1.SetError(txtusername, “)End If4、在 txtuserpassword 的 passwordchar 属性改为*,在其 validating 事件过程中写入代码:If txtuserpassword.Text = “ ThenErrorProvider1.SetError(txtuserpassword, “密码不能为空“)ElseErrorProvider1.SetError(txtuserpassword, “)End If5、在“确定”命令按钮的 click 事件过程中验证用户名和密码,其代码如下:Dim tablename As Str

9、ingtablename = “userid“searchsql = “select 用户名,密码 from userid where(用户名=“ & txtusername.Text & “)“Trymodule1.executesql(searchsql, tablename)比较输入的密码和数据库的密码If module1.myrow.Item(1) = txtuserpassword.Text ThenDim newfrmmain As New frmmain()newfrmmain.show()Me.Hide()ElseExit Sub5End IfCatch ex As Excep

10、tionMsgBox(“没有该用户“, vbOKOnly + vbExclamation, “警告“)End Try6、在“取消“按钮的 click 事件中写入代码:Me.Dispose()2.2.2 主窗体的设计1、在当前项目中增加一个窗体 frmmain,作为主窗体,界面如下:注意:将 frmmain 的 ismdicontainer 属性改为 true。2、在“系统”菜单中包含的子菜单如图所示:63、在“学籍管理”菜单中包含的子菜单如图所示:4、在“班级管理”菜单中包含的子菜单如图所示:75、在“成绩管理”菜单中包含的子菜单如图所示:2.2.3 “系统”各子菜单程序的设计1、设计“修改密

11、码”窗体新增加一个名为 frmmodifyuserpassword 的窗体,如图所示: 18在“确定”按钮的 click 事件过程中写入代码: 2Dim tablename As Stringtablename = “userid“searchsql = “select 用户名,密码 from userid where(用户名=“ & txtusername.Text & “)“Trymodule1.executesql(searchsql, tablename)If module1.myrow.Item(1) = txtuserpassword.Text Thenmodule1.myrow.

12、Item(1) = txtnewpassword.Textmodule1.mytable.GetChanges()module1.cmd = New SqlCommandBuilder(module1.adocmd)module1.adocmd.Update(module1.ds, tablename)MsgBox(“密码修改成功!“, vbOKOnly + vbExclamation, “警告“)Me.Hide()ElseExit SubEnd IfCatch ex As ExceptionMsgBox(“没有该用户“, vbOKOnly + vbExclamation, “警告“)End

13、Try在“取消“按钮的 click 事件中写入代码: 3Me.Dispose()在“修改密码”子菜单的 click 事件过程中写入代码: 4Dim newfrmmodifyuserpassword As New frmmodifyuserpasswordnewfrmmodifyuserpassword.Show()92、设计“添加用户”窗体新增加一个名为 frmadduser 的窗体,如图所示: 1在“确定”按钮的 click 事件过程中写入代码: 2Dim tablename As String = “userid“If txtuserpassword.Text txtcomfirmpass

14、word.Text ThenMsgBox(“前后两次输入的密码不一致“ + Chr(10) + “请重试“, vbOKOnly + -vbExclamation, “警告“)Exit SubEnd Ifsearchsql = “select * from userid“module1.executesql(searchsql, tablename)Dim newrow As DataRownewrow = module1.mytable.NewRownewrow.Item(0) = Trim(txtusername.Text) 给第一个字段赋值newrow.Item(1) = Trim(txt

15、userpassword.Text) 给第二个字段赋值mytable.Rows.Add(newrow) 添加新用户module1.cmd = New SqlCommandBuilder(module1.adocmd) 使用自动生成的sql语句module1.adocmd.Update(module1.ds, tablename) 对数据库进行更新MsgBox(“添加用户成功!“, vbOKOnly + vbExclamation, “信息框“)在“添加用户”子菜单的 click 事件过程中写入代码: 310Dim newfrmadduser As New frmadduser() 窗体类对象化

16、newfrmadduser.Show() 显示窗体在“退出”子菜单的 click 事件过程中写入代码: 4End在“取消“按钮的 click 事件中写入代码: 5Me.Dispose()2.2.4 “学籍管理”程序的设计1、设计“添加学籍信息”窗体新增加一个名为 frmaddstinfo 的窗体,如图所示: 1设置“性别”选择框的 item 属性为“男” 、 “女” , “班级 ”选择框的 item 属性为“初一” 2、 “初二” 、 “初三” 、 “高一” 、 “高二” 、 “高三” 。在“确认添加”命令按钮的 click 事件过程中写入代码: 3If Not IsNumeric(Trim(

17、txtsid.Text) ThenMsgBox(“请输入数字!“, vbOKOnly + vbExclamation, “警告“)txtsid.Focus() 学号必须为数字Exit SubEnd IfIf Not IsNumeric(txttel.Text) ThenMsgBox(“请输入联系电话“, vbOKOnly + vbExclamation, “警告“)11txttel.Focus() 电话不能为空Exit SubEnd IfIf Not IsDate(txtrudate.Text) ThenMsgBox(“入校时间应输入日期格式(yyyy-mm-dd)!“, vbOKOnly +

18、 vbExclamation, “警告“)txtrudate.Focus() 入校日期不能为空Exit SubEnd IfDim tablename As String = “student“searchsql = “select * from student“module1.executesql(searchsql, tablename)Dim newrow As DataRownewrow = module1.mytable.NewRownewrow.Item(0) = Trim(txtsid.Text)newrow.Item(1) = Trim(txtname.Text)newrow.I

19、tem(2) = Trim(combosex.Text)newrow.Item(3) = Trim(txtborndate.Text)newrow.Item(4) = Trim(comboclassno.Text)newrow.Item(5) = Trim(txttel.Text)newrow.Item(6) = Trim(txtrudate.Text)newrow.Item(7) = Trim(txtaddress.Text)newrow.Item(8) = Trim(txtcomment.Text)mytable.Rows.Add(newrow)module1.cmd = New SqlC

20、ommandBuilder(module1.adocmd)Trymodule1.adocmd.Update(module1.ds, “student“)MsgBox(“添加学籍信息成功!“, vbOKOnly + vbExclamation, “警告“)Catch ex As ExceptionMsgBox(Err.Description)End Try在“取消添加”命令按钮的 click 事件过程中写入代码: 4Me.Dispose()在“添加学籍信息”子菜单的 click 事件过程中写入代码: 5Dim newaddstinfo As New frmaddstinfo()newaddsti

21、nfo.MdiParent = Me 设置为主窗体的子窗体newaddstinfo.Show()2、设计“修改学籍信息”窗体新增加一个名为 frmmodifystinfo 的窗体,如图所示: 112在 frmmodifystinfo 的 load 事件过程中写入代码: 2txtsid.Enabled = Falsetxtname.Enabled = Falsecombosex.Enabled = Falsetxtborndate.Enabled = Falsetxtclassno.Enabled = Falsetxtrudate.Enabled = Falsetxttel.Enabled =

22、Falsetxtaddress.Enabled = Falsetxtcomment.Enabled = False 设置信息为只读Dim tablename As String = “student“searchsql = “select * from student“module1.executesql(searchsql, tablename)showdata()在窗口代码区中定义显示数据的函数 showdata( ): 3Private Sub showdata()module1.myrow = module1.mytable.Rows.Item(rownumber)txtsid.Tex

23、t = module1.myrow.Item(0).ToStringtxtname.Text = module1.myrow.Item(1).ToStringcombosex.Text = module1.myrow.Item(2).ToStringtxtborndate.Text = module1.myrow.Item(3).ToStringtxtclassno.Text = module1.myrow.Item(4).ToStringtxttel.Text = module1.myrow.Item(5).ToStringtxtrudate.Text = module1.myrow.Ite

24、m(6).ToStringtxtaddress.Text = module1.myrow.Item(7).ToString13txtcomment.Text = module1.myrow.Item(8).ToStringEnd Sub在“第一条记录”按钮的 click 事件过程中写入代码: 4rownumber = 0showdata()在“上一条记录”按钮的 click 事件过程中写入代码: 5btnext.Enabled = Truerownumber = rownumber - 1If rownumber module1.mytable.Rows.Count - 1 Thenrownu

25、mber = module1.mytable.Rows.Count - 1btnext.Enabled = FalseEnd Ifshowdata()在“最后一条记录”按钮的 click 事件过程中写入代码: 7rownumber = module1.mytable.Rows.Count - 1showdata()在“修改记录”按钮的 click 事件过程中写入代码: 8txtsid.Enabled = False 关键字段只读txtname.Enabled = Truecombosex.Enabled = Truetxtborndate.Enabled = Truetxtclassno.En

26、abled = Truetxtrudate.Enabled = Truetxttel.Enabled = Truetxtaddress.Enabled = Truetxtcomment.Enabled = True在“更新记录”按钮的 click 事件过程中写入代码: 9If Not testtxt(txtname.Text) ThenMsgBox(“请输入姓名!“, vbOKOnly + vbExclamation, “警告“)txtname.Focus()14Exit SubEnd IfIf Not testtxt(combosex.Text) ThenMsgBox(“请输入性别!“, v

27、bOKOnly + vbExclamation, “警告“)combosex.Focus()Exit SubEnd IfIf Not testtxt(txtclassno.Text) ThenMsgBox(“请输入班号!“, vbOKOnly + vbExclamation, “警告“)txtclassno.Focus()Exit SubEnd IfIf Not testtxt(txttel.Text) ThenMsgBox(“请输入联系电话!“, vbOKOnly + vbExclamation, “警告“)txttel.Focus()Exit SubEnd IfIf Not testtxt

28、(txtaddress.Text) ThenMsgBox(“请输入家庭住址!“, vbOKOnly + vbExclamation, “警告“)txtaddress.Focus()Exit SubEnd IfIf Not IsNumeric(Trim(txtsid.Text) ThenMsgBox(“请输入数字学号!“, vbOKOnly + vbExclamation, “警告“)txtsid.Focus()Exit SubEnd IfIf Not IsDate(txtborndate.Text) ThenMsgBox(“出生时间应输入日期格式(yyyy-mm-dd)!“, vbOKOnly

29、 + vbExclamation, “警告“)txtborndate.Focus()Exit SubEnd IfIf Not IsDate(txtrudate.Text) ThenMsgBox(“入校时间应输入日期格式(yyyy-mm-dd)!“, vbOKOnly + vbExclamation, “警告“)txtrudate.Focus() 入校日期不能为空Exit SubEnd Ifmodule1.myrow.Item(0) = Trim(txtsid.Text)module1.myrow.Item(1) = Trim(txtname.Text)module1.myrow.Item(2)

30、 = Trim(combosex.Text)module1.myrow.Item(3) = Trim(txtborndate.Text)module1.myrow.Item(4) = Trim(txtclassno.Text)module1.myrow.Item(5) = Trim(txttel.Text)module1.myrow.Item(6) = Trim(txtrudate.Text)15module1.myrow.Item(7) = Trim(txtaddress.Text)module1.myrow.Item(8) = Trim(txtcomment.Text)module1.my

31、table.GetChanges()module1.cmd = New SqlCommandBuilder(module1.adocmd)module1.adocmd.Update(module1.ds, “student“)MsgBox(“修改学籍信息成功!“, vbOKOnly + vbExclamation, “警告“)txtname.Enabled = Falsecombosex.Enabled = Falsetxtborndate.Enabled = Falsetxtclassno.Enabled = Falsetxtrudate.Enabled = Falsetxttel.Enab

32、led = Falsetxtaddress.Enabled = Falsetxtcomment.Enabled = False 重新设置信息为只读在“取消记录”按钮的 click 事件过程中写入代码:10txtsid.Enabled = Falsetxtname.Enabled = Falsecombosex.Enabled = Falsetxtborndate.Enabled = Falsetxtclassno.Enabled = Falsetxtrudate.Enabled = Falsetxttel.Enabled = Falsetxtaddress.Enabled = Falsetxt

33、comment.Enabled = False 设置信息为只读在“删除记录”按钮的 click 事件过程中写入代码:11module1.mytable.Rows.Item(rownumber).Delete()If MsgBox(“确定要删除该记录吗?“, MsgBoxStyle.OkCancel + vbExclamation, “警告“) = MsgBoxResult.Ok Thenmodule1.cmd = New SqlCommandBuilder(module1.adocmd)module1.adocmd.Update(ds, “student“)btnext.PerformClic

34、k()End If在“修改学籍信息”子菜单的 click 事件过程中写入代码:12Dim newfrmmodifystinfo As New frmmodifystinfo()newfrmmodifystinfo.Show()3、设计“查询学籍信息”窗体新增加一个名为 frminquirestinfo 的窗体,如图所示: 116在 frminquirestinfo 的 load 事件过程中写入代码: 2combosearchtype.Items.Add(“学号“)combosearchtype.Items.Add(“姓名“)combosearchtype.Items.Add(“性别“)comb

35、osearchtype.Items.Add(“出生日期“)combosearchtype.Items.Add(“班号“)combosearchtype.Items.Add(“联系电话“)combosearchtype.Items.Add(“入校日期“)combosearchtype.Items.Add(“家庭住址“)在“查询”按钮的 click 事件过程中写入代码: 3Trysearchsql = “select * from student where(“ & combosearchtype.Text & “=“searchsql = searchsql & txtsearchvalue.T

36、ext & “)“module1.executesql(searchsql, “student“)dgstinfo.DataSource = module1.ds.Tables.Item(0).DefaultViewCatch ex As ExceptionMsgBox(“不存在该记录!“, vbOKOnly + vbExclamation, “警告“)End Try在“退出查询”按钮的 click 事件过程中写入代码: 4Me.Dispose()在“查询学籍”子菜单的 click 事件过程中写入代码: 5Dim newfrminquirestinfo As New frminquirestinfonewfrminquirestinfo.Show()至此, “学生管理”模块程序制作完毕, “班级管理”模块和“成绩管理”模块的程序代码与“学生管理”模块基本相同,就省略不写了。173.程序调试及故障分析注意:运行程序时要打开服务器。调试运行成功!

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

当前位置:首页 > 网络科技 > Visual Basic

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报