1、VB课程设计报告 1(此文档为word格式,下载后您可任意编辑修改!)新疆工程学院课程设计说明书题目名称: VB.NET程序设计 摘 要学生成绩管理是教育部门的一个重要内容。随着学生数量增加,学生成绩管理工作也变得越来越复杂。早期的学生统计都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎或计算疏忽,出现学生信息错误的现象。早期学生管理多采取纸质材料和具有较强的时间限制。基于以上原因,学生成绩管理系统使用电脑安全保存、快速计算、全面统计,实现学生管理的系统化、规范化、自动化。学生成绩管理系统是典型的信息管理系统,前台程序开发工具采用微软的VB.net
2、,后台数据库采用SQL serve2005数据库。VB是一种面向对象的开发工具,具有组件丰富、语言简单、功能强大的优点。SQL serve2005数据库具有与VB无缝连接、操作简单、易于使用的优点。运行结果证明,学生管理系统极大提高了工作效率,节省了人力和物力,最终满足学生管理、学生信息统计的需要,同时也成为现代化学生管理的标志。关键字:学生成绩管理系统;SQL Server;VB.net ;连接目录第1章 系统规划 11.1系统可行性分析 11.1.1 技术可行性分析 11.1.2经济可行性分析 11.1.3社会可行性分析 11.2 系统需求分析 11.3 E-R图 21.4 系统功能设计图
3、 2第2章 功能实现 32.1 SQL sever 2005 32.1.1 导入数据 32.1.2 设置字段类型 6第3章 界面设计及代码 73.1 form1的设计 73.1.1 密码错误时登陆界面 73.1.2 代码的实现 93.2 form2的设计 11图 2.14 123.2.1 代码的实现 133.3 form3的设计 153.3.1 form3的运行界面: 153.3.2 代码的实现 153.4 form4的设计 163.4.1 运行界面: 163.4.2 代码的实现 163.5 数据库分离 17第4章 总结 20第5章 致谢 21第6章 参考文献 22第1章 系统规划1.1系统可
4、行性分析1.1.1 技术可行性分析从硬件和开发环境上考虑,除了数据库服务器需求稍微高了些,其他方面都可以在现有的条件下解决。从技术上看,利用做前台和sql server 做后台连接很方便,一般了解怎样使用这两个软件的基本上都可以操作。本系统力求性能稳定、数据精确、决策及时,提高人员利用率,减少设备费用,减少工作时间已达到优化管理的目的。1.1.2经济可行性分析本系统所用的开发工具和软件都差不多是免费的。而且,由于系统能够在未来较长的一段时期稳定的发挥作用,这对于学生管理,节省企业的人力、物力资源等都有很大的帮助,由此可见开发此系统在经济上是完全可行的。1.1.3社会可行性分析学生管理广泛应用于
5、各行各业,它是教育机构中必不可少的一个环节,所以学习制作通用的学生管理系统很有必要。本文根据实际需求,制作了一个简单、易用而且适用面比较广的学生管理系统,其界面友好、功能丰富而不繁杂,并且程序的设计都基于面向对象的思想,且条理清晰,方便了各教育机关部门根据自己的实际修改、增强系统功能。本系统采用文本框和网络控件同步显示数据的方式,让用户更清晰地从界面了解重要的信息,也可以让用户快速查询数据,并可以对记录进行添加删除和修改,还可以根据工号查找历史记录。1.2 系统需求分析需求分析的过程可以说是一个具体问题的反复理解和抽象的过程。需求分析阶段是软件产品生存命期的一个重要阶段,其根本任务是确定用户对
6、软件系统的需求。所谓需求是指用户对软件性能和功能的要求。学生管理系统正是一款可以方便快捷的达到一般人们对于一般要求的功能,简单的利用sql和进行操作。就可以节省许多人力和物力,也能满足于一般的期望。1.3 E-R图1.4 系统功能设计图第2章 功能实现2.1 SQL sever 20052.1.1 导入数据用sa身份登录SQLsever2005,导入之前准备的数据,我们所做的学生成绩管理包括两张表,其中包括stu表和用户表。使用SQLServer建立数据库1、程序 Microsoft SQLServer 企业管理器 local(Windows NT) 数据库 单击右键,新建数据库 确定 2、选
7、择数据库 表 单击右键,新建表 输入各字段的名称、类型和宽度 确定参考代码:Public Function GetDataSource(ByVal sql As String) As DataTable Dim sqlCon As New SqlClient.SqlConnection(Data Source=admin;Database=信息库;User Id=sa;Pwd=) Dim sqlAda As SqlClient.SqlDataAdapter Dim dt As DataTable sqlAda = New SqlClient.SqlDataAdapter(New SqlClie
8、nt.SqlCommand(sql, sqlCon) dt = New DataTable Try sqlAda.Fill(dt) Catch ex As Exception MessageBox.Show(ex.Message + Chr(10) + Chr(13) + ex.StackTrace) Return New DataTable End Try Return dt End Function数据库连接:1、 SQL启动安全性登录名sa(右键)属性常规密码(任意改)-去掉“强制实施密码策略”|状态启用确定2、 选择用户数据库(右键)属性文件所有者该成sa用户确定3、 服务器上(adm
9、in)属性安全性SQL Server和Windows身份验证4、 服务器(右键)重启5、 安全性sa属性密码去掉(空白)确定数据库附加过程:图2.1图 2.2 图 2.3图2.4 图 2.5图 2.62.1.2 设置字段类型图 2.7图 2.8第3章 界面设计及代码3.1 form1的设计3.1.1 密码错误时登陆界面图 2.9教师登陆界面图 2.10学生登陆界面图 2.11图2.123.1.2 代码的实现前台界面和后台数据库连接的代码:Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventAr
10、gs) Handles MyBase.Load Me.DataGridView1.DataSource = GetDataSource(select * from stu) End Sub登陆按钮代码: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Static n As Integer If RadioButton1.Checked = True Then If Me.TextBox1.Text = And Me.TextB
11、ox2.Text = Then MsgBox(用户名或密码不能为空,请重新输入!, 0 + 16, 提示) Me.TextBox1.Focus() ElseIf Me.TextBox1.Text And Me.TextBox2.Text = Then MsgBox(密码不能为空,请重新输入!, 0 + 16, 提示) Me.TextBox2.Focus() Else str = select * from 用户表 where 用户名= & Me.TextBox1.Text & and 密码= & Me.TextBox2.Text & And 类= 0 Dim dt As DataTable =
12、 Module1.GetDataSource(str) If dt.Rows.Count = 0 Then MsgBox(用户名或密码错误,请重新输入!, 0 + 16, 提示) Me.TextBox1.Text = Me.TextBox2.Text = Me.TextBox1.Focus() n += 1 If n = 3 Then Me.Close() End If Else Form2.Show() Me.Hide() End If End If End If If Me.RadioButton2.Checked = True Then If Me.TextBox1.Text = And
13、 Me.TextBox2.Text = Then MsgBox(用户名或密码不能为空,请重新输入!, 0 + 16, 提示) Me.TextBox1.Focus() ElseIf Me.TextBox1.Text And Me.TextBox2.Text = Then MsgBox(密码不能为空,请重新输入!, 0 + 16, 提示) Me.TextBox2.Focus() Else str = select * from 用户表 where 用户名= & Me.TextBox1.Text & and 密码= & Me.TextBox2.Text & And 类 = 1 Dim dt As D
14、ataTable = Module1.GetDataSource(Str) If dt.Rows.Count = 0 Then MsgBox(用户名或密码错误,请重新输入!, 0 + 16, 提示) Me.TextBox1.Text = Me.TextBox2.Text = Me.TextBox1.Focus() n += 1 If n = 3 Then MsgBox(您不能进入该系统) Me.Close() End If Else Form3.Show() Me.Hide() Form2.Label1.Text &= Me.TextBox1.Text End If End If End If
15、 End SubEnd Class取消按钮代码:Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.TextBox1.Text = Me.TextBox2.Text = Me.TextBox1.Focus()End Sub退出按钮代码:Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles But
16、ton3.Click EndEnd Sub文字移动代码:退出按钮代码: Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick If Label1.Left = Me.Width Then Label1.Left = Label1.Left + 2 Else Label1.Left = 0 End If End Sub3.2 form2的设计Form2的界面设计图 2.13form2运行界面:图 2.14查询运行界面图2.15添加运行界面图 2
17、.163.2.1 代码的实现查询代码:Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim sqltxt, txt1 As String txt1 = Me.TextBox1.Text.ToString If Me.RadioButton1.Checked = True Then sqltxt = select * from stu where 学号= & txt1 & Me.DataGridView1.DataSourc
18、e = GetDataSource(sqltxt) End If If Me.RadioButton2.Checked = True Then sqltxt = select * from stu where 姓名= & txt1 & Me.DataGridView1.DataSource = GetDataSource(sqltxt) End If End Sub修改代码:Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim
19、 sqltxt As String sqltxt = Update stu Set 学号= & TextBox2.Text & Where 学号= & TextBox3.Text & Me.DataGridView1.DataSource = GetDataSource(sqltxt) End Sub删除代码:Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Dim sqltxt, txt1 As String txt1 = Me
20、.TextBox1.Text.ToString If Me.RadioButton1.Checked = True Then sqltxt = Delete From stu Where 学号= & txt1 & Me.DataGridView1.DataSource = GetDataSource(sqltxt) End If If Me.RadioButton2.Checked = True Then sqltxt = delete from stu where 姓名= & txt1 & Me.DataGridView1.DataSource = GetDataSource(sqltxt)
21、 End If End Sub刷新代码:Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim sqltxt As String sqltxt = select * from stu Me.DataGridView1.DataSource = GetDataSource(sqltxt)End Sub退出代码:Private Sub Button6_Click(ByVal sender As System.Object, ByVa
22、l e As System.EventArgs) Handles Button6.Click Form1.Show() Me.Hide() End Sub3.3 form3的设计3.3.1 form3的运行界面:图 2.173.3.2 代码的实现查询代码:Public Class Form3 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim sqltxt, txt1 As String txt1 = Me.TextBox1
23、.Text.ToString If Me.RadioButton1.Checked = True Then sqltxt = select * from stu where 学号= & txt1 Me.DataGridView1.DataSource = GetDataSource(sqltxt) End If If Me.RadioButton2.Checked = True Then sqltxt = select * from stu where 姓名= & TextBox1.Text & Me.DataGridView1.DataSource = GetDataSource(sqltx
24、t) End IfEnd Sub安全退出代码:Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Form1.Show() Me.Hide() End Sub End Class3.4 form4的设计3.4.1 运行界面:form1教师登陆添加记录form4界面图 2.183.4.2 代码的实现添加的代码:Public Class Form4 Private Sub Button1_Click(ByVal sender As Sy
25、stem.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim sqltxt As Stringsqltxt = insert into stu (学号,姓名,性别,出生日期,成绩,班级) values ( & TextBox1.Text & , & TextBox2.Text & , & TextBox3.Text & , & TextBox4.Text & , & TextBox5.Text & , & TextBox6.Text & ) Me.DataGridView1.DataSource = GetDataSou
26、rce(sqltxt) End Sub刷新的代码:Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim sqltxt As String sqltxt = select * from stu Me.DataGridView1.DataSource = GetDataSource(sqltxt) End Sub退出代码:Private Sub Button3_Click(ByVal sender As System.Object
27、, ByVal e As System.EventArgs) Handles Button3.Click Form2.Show() Me.Close()End Sub模块的代码:Module Module1 Public Function GetDataSource(ByVal sql As String) As DataTable Dim sqlCon As New SqlClient.SqlConnection(Data Source=B22;Database=student;User Id=sa;Pwd=) Dim sqlAda As SqlClient.SqlDataAdapter D
28、im dt As DataTable sqlAda = New SqlClient.SqlDataAdapter(New SqlClient.SqlCommand(sql, sqlCon) dt = New DataTable Try sqlAda.Fill(dt) Catch ex As Exception MessageBox.Show(ex.Message + Chr(10) + Chr(13) + ex.StackTrace) Return New DataTable End Try Return dt End FunctionEnd Module3.5 数据库分离图2.19图 2.2
29、0数据库分离的位置:图 2.21数据库分离未附加时,程序运行的错误界面图 2.22第4章 总结学生成绩管理系统是一个典型的信息管理系统,开发本系统的过程中首先要对企业工资管理进行系统调研,熟悉学生成绩管理的流程、步骤:其次在系统需求分析过程中,要透过现象看本质,敏锐观察到企业工资管理存在的各种问题。并在总体设计把握好对问题的分析、理解、进而解决问题:选用开发工具要选用自己最最熟悉、应用较多的开发工具,本系统开发选用VB.NET,其具有语言简单、功能强大、组件众多的优点。学生成绩管理系统极大提高了工作效率,节省了人力和物理,最终满足教育机构的管理,学生信息管理的需求,同时也成为现代教育机构管理的
30、标志。第5章 致谢从编写程序到拟定报告,历时两个星期。在本设计完成之际,首先向我的指导老师以诚挚的谢意。在报告的书写过程中,老师给了我许多的帮助和关怀,指导老师治学严谨,带人平易近人,在指导老师的细心指导下,我学到了扎实的专业知识。同时,衷心感谢我的同床同学,在我的实训报告的写作中,与同学们的探讨交流是我收益颇多,同时,他们也给了我很多无私的帮助和支持,我深表谢意。第6章 参考文献 1 李春葆,刘胜才,张志民,Visuai Basic 程序设计教程. 北京:清华大学出版社,2007,12 中文Visuai Basic 实例全解教程 王景义. 编著. 海口:南方出版社,2007. 123 李俊民,精通SQL结构化查询语言详解(第二版).北京:人民邮电出版社,2008.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1