VB学生信息管理系统 课程设计报告

             

课程设计报告

班级: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.总结

学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统设计是以能够为用户提供充足的信息和快捷的查询手段为核心内容的。一直以来人们所使用的传统的人工管理文件信息的方式实在是太落后,它存在着许许多多的缺点,效率低、保密性差的问题尤其突出。另外工作量稍微一大,将会有大量的文件和数据需要维护,有些问题是人工所无法解决的。随着科学技术的不断提高,计算机应用越来越广泛,其强大的功能已为人们所深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对学生信息进行管理,具有着手工管理所无法比拟的优点,检索快捷、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些显而易见的优点能够极大地提高学校管理人员的工作效率,也即提高进行学生信息管理的效率。当然,我做的这个系统只是自己的一种思想,要把它用到实际中去还需要很大的改进,这有待以后再逐完善。

相关推荐