VBNET实现学生成绩管理系统设计.docx
- 文档编号:26389788
- 上传时间:2023-06-18
- 格式:DOCX
- 页数:8
- 大小:19.05KB
VBNET实现学生成绩管理系统设计.docx
《VBNET实现学生成绩管理系统设计.docx》由会员分享,可在线阅读,更多相关《VBNET实现学生成绩管理系统设计.docx(8页珍藏版)》请在冰豆网上搜索。
VBNET实现学生成绩管理系统设计
VB.NET实现学生成绩管理系统设计
一实验目的与要求:
学生成绩管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
经过分析,我们使用MICROSOFT公司的VisualStudio开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
微软公司的VisualStudio是Windows应用程序开发工具,使目前最为广泛的、易学易用的面向对象的开发工具。
VisualStudio提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。
故而,实现本系统VB是一个相对较好的选择。
Access2003就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。
Access的优点在于它能使用数据表示图或自定义窗体收集信息。
数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然。
另外,Access允许创建自定义报表用于打印或输出数据库中的信息。
Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。
Access是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。
如上所述,Access作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。
二者的结合(DBA)微软的JET数据库引擎提供了与数据库打交道的途径,我们是通过它以及VisualBasic来访问数据库并对其进行各种操作。
VisualStudio、Access以及其他微软的软件产品都是通过共用JET数据库引擎,从而给用户提供了丰富的数据类型。
DATA控件在数据库中的信息与将信息显示给用户看的VisualBasic程序之间架起了一座桥梁。
我们可以设置DATA控件的各个属性,告诉它要调用那个数据库的哪个部分。
缺省情况下,DATA控件根据数据库中的一个或多个数据表建立一个动态集合类型的记录集合。
一个记录集合是动态的也就意味着,当原来的数据表中的容改变了以后,该记录集合中的记录也会随之改变。
DATA控件还提供了用来浏览不同记录的各种跳转按钮。
将DATA控件放置在窗体中之后,我们还必须在该控件与要处理的数据库之间建立联系。
二、成员名单及分工情况
(1)200503011073赵鲁南计科05-2负责其中的维护模块下面有设置三个小模块:
成绩登记,添加课程,修改删除课程
(2)200503011039豆莲花计科05-2负责其中的登陆模块、查询模块(3)200503011041魏会芹计科05-2负责其中的数据库设计、修改密码模块(4)200503011056钟帅计科05-2负责设计其中的总窗体模块、数据库连接模块、帮助模块三实验内容:
要求利用VB.NET做一个学生成绩管理系统。
基本功能包括:
学生选课,成绩录入,查询,课程的增删改等,如果有时间,则把功能做的详细一些。
四实验仪器与设备:
VB.NET2005,ACCESS2003五实现功能:
1.登陆功能登陆界面分为管理员登陆和学生登陆,根据不同登陆身份显示不同的登陆内容。
2.管理员功能以管理员的身份登陆可以实现各个学科学生成绩的录入;添加新的课程,修改课程登记内容,删除课程;选修某一门课的所有同学学号,查询一门课每一个同学的成绩,查询当前数据库中所有课程的详细信息。
3.学生功能以普通学生的身份登陆可以实现查询当前共有多有门选修课和可选的所有课程的详细信息;可以提交自己要选的课程,查询当前自己都选修了那些课程,每一门的成绩;可以自己修改登陆密码.六功能模块:
根据实验的要求和需要实现的功能可以分为以下七大模块
(1)数据库设计在ACCESS2003中建立数据库student.mdb,在其中建立三个表。
表course用来存储课程的详细信息;表sc用来存储每一个学生的选课情况,记录学生成绩;表stu用来存储各个同学详细的个人信息,如学号、姓名、性别、密码、专业等。
(2)登陆模块根据不同身份的登录者,显示不同的界面。
(3)总窗体模块通过这个总窗体来调用个窗体实现系统得各个功能。
(4)数据库连接模块由于在此系统中多次用到数据库的连接,因此将数据库的连接作为一个单独得模块以供各个模块调用。
(5)维护模块下面有设置三个小模块,分别为成绩登记,添加课程,修改删除课程。
三个小模块实现的功能分别为学生各门课程的成绩登记,添加新的课程,修改删除课程内容。
(6)查询模块这个模块主要针对学生的成绩查询和选课,下设两个小模块成绩查询和选课。
(7)修改密码模块学生、管理员密码的修改(8)帮助模块系统使用帮助,正确实别登陆者并能够显示出关于登陆者的欢迎信息,整个系统得美化装饰等等。
七代码编写:
(1)数据库设计
(2)登录模块登陆界面代码:
PublicClassForm8PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickDimf5AsNewForm5Module1.db()conn.Open()ds.Clear()cmd.CommandText=selectsno,paswdfromstuda.SelectCommand=cmdda.Fill(ds)DimiAsIntegerFori=0Tods.Tables(0).Rows.Count-1IfTextBox1.Text=ds.Tables(0).Rows(i).Item(0)ThenIfTextBox2.Text=ds.Tables(0).Rows(i).Item
(1)ThenIfTextBox1.TextjolanThenForm5.维护ToolStripMenuItem.Dispose()EndIfIf(TextBox1.Text=jolanAndRadioButton1.Checked=True)Or(TextBox1.TextjolanAndRadioButton2.Checked=True)ThenForm5.Show()Me.Hide()ExitForEndIfEndIfEndIfNextIfi=ds.Tables(0).Rows.CountThenMsgBox(登录失败!
)EndIfconn.Close()EndSubPrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.ClickEndEndSubEndClass(3)总窗体模块管理员进入后界面:
学生管理窗口代码:
PublicClassForm5PrivateSub退出ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles退出ToolStripMenuItem.ClickEndSubPrivateSub成绩登记ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles成绩登记ToolStripMenuItem.ClickDimf4AsNewForm4Form4.Show()EndSubPrivateSub成绩查询ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles成绩查询ToolStripMenuItem.ClickDimf3AsNewForm3Form3.Show()EndSubPrivateSub选课ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Dimf6AsNewForm6Form6.Show()EndSubPrivateSub添加课程ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles添加课程ToolStripMenuItem.ClickDimf7AsNewForm7Form7.Show()EndSubPrivateSubForm5_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Loadcmd.CommandText=selectsnamefromstuwheresno=‘Form8.TextBox1.Text‘da.SelectCommand=cmdda.Fill(ds,tabl7)Label1.Text=Welcome!
ds.Tables(tabl7).Rows(0).Item(0)conn.Close()EndSubPrivateSub选课ToolStripMenuItem1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles选课ToolStripMenuItem1.ClickDimf6AsNewForm6Form6.Show()EndSubPrivateSub修改课程ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles修改课程ToolStripMenuItem.ClickDimf2AsNewForm2Form2.Show()EndSubPrivateSub退出ToolStripMenuItem1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles退出ToolStripMenuItem1.ClickEndEndSubPrivateSub帮助ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles帮助ToolStripMenuItem.ClickDimf9AsNewForm9f9.Show()EndSubPrivateSubLabel1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesLabel1.ClickEndSubPrivateSub关于ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles关于ToolStripMenuItem.ClickDimf1AsNewForm1Form1.Show()EndSubEndClass(4)数据库连接模块ModuleModule1PublicconnAsNewOleDb.OleDbConnectionPublicdaAsNewOleDb.OleDbDataAdapterPubliccmdAsNewOleDb.OleDbCommandPublicdsAsNewDataSetPublicstAsNewDataTablePublicSubdb()conn.ConnectionString=provider=microsoft.jet.oledb.4.0;datasource=‘../../student.mdb’cmd.Connection=connEndSubEndModule(5)维护模块成绩登记模块代码:
PublicClassForm4Dimtab1AsNewDataTableDimtab2AsNewDataTablePrivateSubForm4_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.LoadComboBox1.Items.Add(学号)ComboBox1.Items.Add(课号)EndSubPrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickModule1.db()conn.Open()ds.Clear()IfComboBox1.Text=学号Thencmd.CommandText=selectstu.sname,sc.cno,course.cname,sc.gradefromstu,sc,coursewherestu.sno=sc.snoandsc.cno=course.cnoandstu.sno=‘TextBox1.Text‘da.SelectCommand=cmdda.Fill(ds,tab1)DataGridView1.DataSource=ds.Tables(tab1)ElseIfComboBox1.Text=课号Thencmd.CommandText=selectstu.sno,stu.sname,course.cname,sc.gradefromstu,sc,coursewherestu.sno=sc.snoandsc.cno=course.cnoandcourse.cno=‘TextBox1.Text‘da.SelectCommand=cmdda.Fill(ds,tab2)DataGridView1.DataSource=ds.Tables(tab2)EndIfconn.Close()EndSubPrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.ClickModule1.db()conn.Open()DimiAsIntegerIfComboBox1.Text=学号ThenFori=0To(ds.Tables(tab1).Rows.Count-1)cmd.CommandText=updatescsetgrade=‘ds.Tables(tab1).Rows(i).Item(3)‘wheresno=‘TextBox1.Text‘andcno=‘ds.Tables(tab1).Rows(i).Item
(1)‘cmd.ExecuteNonQuery()NextMsgBox(成功!
)ElseIfComboBox1.Text=课号ThenFori=0Tods.Tables(tab2).Rows.Count-1cmd.CommandText=updatescsetgrade=‘ds.Tables(tab2).Rows(i).Item(3)‘wherecno=‘TextBox1.Text‘andsno=‘ds.Tables(tab2).Rows(i).Item(0)‘cmd.ExecuteNonQuery()NextMsgBox(成功!
)EndIfconn.Close()EndSubPrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton3.ClickMe.Close()EndSubEndClass添加课程模块:
代码:
PublicClassForm7PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickModule1.db()conn.Open()Dimtab71AsNewDataTablecmd.CommandText=selectcnofromcourseda.SelectCommand=cmdda.Fill(ds,tab71)DimiAsIntegerFori=0Tods.Tables(tab71).Rows.Count-1IfTextBox1.Text=ds.Tables(tab71).Rows(i).Item(0)ThenMsgBox(此课程已存在,请重新输入!
)conn.Close()ExitSubEndIfNextcmd.CommandText=insertintocourse(cno,cname,ccredit)values(‘TextBox1.Text‘,‘TextBox2.Text‘,‘TextBox3.Text‘)cmd.ExecuteNonQuery()MsgBox(成功)conn.Close()EndSubPrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.ClickMe.Close()EndSubEndClass修改删除课程模块代码:
PublicClassForm2PrivateSubTextBox1_TextChanged(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesTextBox1.TextChangedEndSubPrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.ClickDimstrAsStringconn.Open()IfRadioButton1.Checked=TrueThenstr=insertintocourse(cno,cname,ccredit)values(‘TextBox1.Text‘,‘TextBox2.Text‘,‘TextBox3.Text‘)cmd.CommandText=strcmd.ExecuteNonQuery()MsgBox(成功)ElseIfRadioButton2.Checked=TrueThenstr=updatecoursesetcname=‘TextBox2.Text‘wherecno=‘TextBox1.Text‘cmd.CommandText=strcmd.ExecuteNonQuery()str=updatecoursesetccredit=‘TextBox3.Text‘wherecno=‘TextBox1.Text‘cmd.CommandText=strcmd.ExecuteNonQuery()MsgBox(成功)ElseIfRadioButton3.Checked=TrueThenstr=deletefromcoursewherecno=‘TextBox1.Text‘cmd.CommandText=strcmd.ExecuteNonQuery()MsgBox(成功)EndIfconn.Close()EndSubPrivateSubRadioButton1_CheckedChanged(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesRadioButton1.CheckedChangedEndSubPrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.ClickMe.Close()EndSubEndClass(6)查询模块成绩查询代码:
PublicClassForm3PrivateSubForm3_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handle
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VBNET 实现 学生 成绩管理系统 设计