专 业 实 践
课程设计报告
班级:08计科一班
姓名:***
学号:*************
学生信息管理系统
1.需求分析:
随着学校的规模不断扩大,学生人数急剧增加,有关学生的各种信息也成倍增长。面对庞大的信息量需要有学生管理系统来提供学生管理工作的效率。通过这样的系统可以做到信息的规范管理,科学统计和快速查询,修改,增加,删除等,从而减少管理方面的工作量。实现学生信息关系的系统化,规范化,自动化,用计算机对学生各种信息进行日常管理。
本系统主要包括学生信息查询和信息添加等功能,来初步实现学生信息的计算机化管理,更多相关功能有待以后慢慢完善。
2.系统功能:
本学生信息管理系统采用的语言是Visual Basic,用SQL Sever 2000数据库完成,有以下功能:
(1)有较好的权限管理;
(2) 原始数据修改简单方便,支持多条件修改;
(3)方便的数据查询,支持多条件查询.
2.1采用Visual Basic有以下特点:
2.1.1可视化编程
Visual Basic提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。Visual Basic自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。
2.1.2结构化程序设计语言
Visual Basic是在BASIC语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。Visual Basic语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。
2.1.3事件驱动编程机制
Visual Basic通过事件来执行对象的操作。一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。在用Visual Basic设计大型应用软件时,不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员,提高效率。
2.1.4访问数据库
Visual Basic具有强大的数据库管理功能,利用数据控件和数据库管理窗口,并提供了强大的数据存储和检索功能。Visual Basic提供开放式数据连接,即ODBC功能,可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQL Server,Oracle等。
3.模块组成
即系统结构图:登录、查询、添加、修改、删除。
4.程序设计
4.1 主界面及登录界面的设计:
代码:Private Sub cmdok_Click()
If txtname.Text = "" And txtpassword.Text = "" Then
菜单窗口.Show
txtpassword.Text = ""
Me.Hide
Else
MsgBox "用户名或密码不正确", vbOKOnly + vbCritical, "登录信息"
End If
End Sub
Private Sub cmdquit_Click()
Me.Hide
进入.Show
End Sub
4.2菜单窗口设计
代码:Private Sub class_Click(Index As Integer)
Me.Hide
信息查询.Show
End Sub
Private Sub e_Click()
Me.Hide
SQL查询.Show
End Sub
Private Sub g_Click()
End
End Sub
Private Sub h_Click()
Me.Hide
登录.Show
End Sub
Private Sub k_Click()
Me.Hide
成绩添加.Show
End Sub
Private Sub l_Click()
Me.Hide
信息添加.Show
End Sub
4.3信息查询窗口设计
代码:Private Sub Command1_Click()
Me.Hide
菜单窗口.Show
End Sub
Private Sub Command2_Click()
Adodc1.Recordset.MoveFirst
End Sub
Private Sub Command3_Click()
If Adodc1.Recordset.EOF = False Then
Adodc1.Recordset.MovePrevious
End If
If Adodc1.Recordset.BOF = True Then
Adodc1.Recordset.MoveFirst
MsgBox "当前记录是第一条记录,无上一条记录!", vbOKOnly + vbCritical, "警告"
Exit Sub
End If
End Sub
Private Sub Command4_Click()
If Adodc1.Recordset.EOF = False Then
Adodc1.Recordset.MoveNext
End If
If Adodc1.Recordset.EOF = True Then
Adodc1.Recordset.MoveLast
MsgBox "当前记录是最后一条记录,无下一条记录!", vbOKOnly + vbCritical, "警告"
Exit Sub
End If
End Sub
Private Sub Command5_Click()
Adodc1.Recordset.MoveLast
End Sub
4.4 SQL查询窗口设计
代码:Private Sub Command1_Click()
If Text1.Text = "" Then
MsgBox "请输入SQL语句", vbOKOnly + vbCritical, "警告"
Else
Adodc1.RecordSource = Text1.Text
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
End If
End Sub
Private Sub Command2_Click()
Me.Hide
Text1.Text = ""
菜单窗口.Show
End Sub
Private Sub Command3_Click()
Text1.Text = ""
End Sub
4.5信息添加窗口设计
代码:Private Sub Command1_Click()
Dim mrc As ADODB.Recordset
Dim txtSQL As String
Dim Msgtext As String
If Not Testtxt(Text1.Text) Then
MsgBox "请输入学号!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
If Not Testtxt(Text2.Text) Then
MsgBox "请输入姓名!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
If Not Testtxt(Text3.Text) Then
MsgBox "请输入性别!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
If Not Testtxt(Text4.Text) Then
MsgBox "请输入年龄!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
If Not Testtxt(Text5.Text) Then
MsgBox "请输入系别!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
If Not Testtxt(Text6.Text) Then
MsgBox "请输入专业!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
txtSQL = "select * from s"
Set mrc = ExecuteSQL(txtSQL, Msgtext) '数据库连接
While (mrc.EOF = False) '检查是否库中已有记录
If Trim(mrc.Fields(0)) = Val(Trim(Text1.Text)) Then
MsgBox "该记录已经存在,请重新输入!", vbOKOnly + vbExclamation, "警告"
Text1.SetFocus
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Exit Sub
Else
mrc.MoveNext
End If
Wend
mrc.AddNew ' 增加新纪录!
mrc.Fields(0) = Text1.Text
mrc.Fields(1) = Text2.Text
mrc.Fields(2) = Text3.Text
mrc.Fields(3) = Text4.Text
mrc.Fields(4) = Text5.Text
mrc.Fields(5) = Text6.Text
mrc.Update
mrc.Close
MsgBox "添加信息成功!", vbOKOnly + vbExclamation, "提示"
菜单窗口.Show
End Sub
Private Sub Command2_Click()
Me.Hide
菜单窗口.Show
End Sub
4.6成绩添加窗口设计
代码:Private Sub Command1_Click()
Dim mrc As ADODB.Recordset
Dim txtSQL As String
Dim Msgtext As String
If Not Testtxt(Text1.Text) Then
MsgBox "请输入学号!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
If Not Testtxt(Text2.Text) Then
MsgBox "请输入课程!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
If Not Testtxt(Text3.Text) Then
MsgBox "请输入学分!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
If Not Testtxt(Text4.Text) Then
MsgBox "请输入成绩!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
txtSQL = "select * from sc"
Set mrc = ExecuteSQL(txtSQL, Msgtext) '数据库连接
While (mrc.EOF = False) '检查是否库中已有记录
If Trim(mrc.Fields(0)) = Val(Trim(Text1.Text)) Then
MsgBox "该记录已经存在,请重新输入!", vbOKOnly + vbExclamation, "警告"
Text1.SetFocus
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Exit Sub
Else
mrc.MoveNext
End If
Wend
mrc.AddNew ' 增加新纪录!
mrc.Fields(0) = Text1.Text
mrc.Fields(1) = Text2.Text
mrc.Fields(2) = Text3.Text
mrc.Fields(3) = Text4.Text
mrc.Update
mrc.Close
MsgBox "添加成绩成功!", vbOKOnly + vbExclamation, "提示"
菜单窗口.Show
End Sub
Private Sub Command2_Click()
Me.Hide
菜单窗口.Show
End Sub
4.7成绩删除窗口设计
代码:Private Sub Command1_Click()
Dim intcount As Integer
Dim mrc As ADODB.Recordset
Dim txtSQL As String
Dim Msgtext As String
Dim mrc1 As ADODB.Recordset
Dim txtSQL1 As String
If List1.List(List1.ListIndex) <> "" Then
If MsgBox("确认要删除此信息" & List1.List(List1.ListIndex), vbOKCancel + vbExclamation, "警告") = vbOK Then
txtSQL = "delete from sc where 学号='" & Trim(List1.List(List1.ListIndex)) & "'"
Set mrc = ExecuteSQL(txtSQL, Msgtext)
txtSQL1 = "delete from s where 学号='" & Trim(List1.List(List1.ListIndex)) & "'"
Set mrc1 = ExecuteSQL(txtSQL1, Msgtext)
List1.Clear
Form_Load
MsgBox "删除信息成功!", , "提示"
Exit Sub
End If
End If
End Sub
Private Sub Command2_Click()
Unload Me
菜单窗口.Show
End Sub
Private Sub Form_Load()
Dim mrc As ADODB.Recordset
Dim txtSQL As String
Dim Msgtext As String
txtSQL = "select 学号 from sc"
Set mrc = ExecuteSQL(txtSQL, Msgtext)
While mrc.EOF = False
List1.AddItem mrc.Fields(0)
mrc.MoveNext
Wend
End Sub
5.总结
学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统设计是以能够为用户提供充足的信息和快捷的查询手段为核心内容的。一直以来人们所使用的传统的人工管理文件信息的方式实在是太落后,它存在着许许多多的缺点,效率低、保密性差的问题尤其突出。另外工作量稍微一大,将会有大量的文件和数据需要维护,有些问题是人工所无法解决的。随着科学技术的不断提高,计算机应用越来越广泛,其强大的功能已为人们所深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点,检索快捷、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些显而易见的优点能够极大地提高学校管理人员的工作效率,也即提高进行学生信息管理的效率。当然,我做的这个系统只是自己的一种思想,要把它用到实际中去还需要很大的改进,这有待以后再逐完善。