现在的位置: 首页 > 综合 > 正文

学生信息管理系统——总结

2013年10月12日 ⁄ 综合 ⁄ 共 2639字 ⁄ 字号 评论关闭

学生信息管理系统是针对学校人事处的大量业务处理工作而开发的管理软件,主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、科学化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了学生信息管理系统。用VB
6.0敲了一下,总结如下:

模块:模块分类为标准模块,窗体模块,类模块,其作用除了声明常数、类型、变量和动态链接库 (DLL) 过程,还能实现公共代码的过程。

'通过frmLogin窗体打开frmMain
Sub main()
    Dim fLogin As New frmLogin
    fLogin.Show vbModal                 '模式窗体 show vbmodal
    If Not fLogin.OK Then
        End
    End If
    Unload fLogin
    
    Set fmainform = New frmMain
    fmainform.Show
    
End Sub
'判断输入框有没有内容
Public Function Testtxt(txt As String) As Boolean
    If Trim(txt) = "" Then
        Testtxt = False
    Else
        Testtxt = True
    End If
    
End Function
'连接指定的dsn文件
Public Function ConnectString() As String
    ConnectString = "filedsn=student.dsn;uid=sa;pwd=123"
End Function
'通过dsn连接指定的数据库
Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) As ADODB.Recordset

                                                                                                                                                                                                                   登录窗体:可以联系到我们原来做的红皮书的五个例子。

《数据库开发经典五例总结》:http://haovip123.blog.163.com/blog/static/21110818620135166262142/

主界面:主界面设计主要用了菜单编辑器和StatusBar控件,其代码比较简单。

添加数据:在判断完输入文本框等不为空,不重复后,使用数据库添加语句:

'把相关数据添加进数据库并更新
    mrc.AddNew
    mrc.Fields(0) = Trim(txtcourseno.Text)
    mrc.Fields(1) = Trim(txtCoursename.Text)
    mrc.Fields(2) = Trim(ComboCoursetype.Text)
    mrc.Fields(3) = Trim(txtCoursedes.Text)
    mrc.Update
    mrc.Close
    


修改数据:把原数据库记录删除(mrc.Delete)以后,添加数据

删除数据

Private Sub deleteCommand_Click()
    Dim tankuang As String
    
    mybookmark = mrc.Bookmark   '对要删除的数据做标记
    tankuang = MsgBox("是否确认删除当前记录?")
    If tankuang = vbOK Then
    
        mrc.MoveNext    '数据库中记录向后移动一项
    
        If mrc.EOF Then     '判断被删除的记录是否为最后一项
            mrc.MoveFirst   '如果是最后一条的话,数据库指向第一条记录
            mybookmark = mrc.Bookmark   '对第一条记录进行标记
            mrc.MoveLast    '数据库记录指向最后一条,即被选中要删除项
            mrc.Delete      '删除
            mrc.Bookmark = mybookmark       '把标记的记录送给数据库书签
            Call viewData
        Else
            mybookmark = mrc.Bookmark
            mrc.MovePrevious
            mrc.Delete
            mrc.Bookmark = mybookmark
            Call viewData
        End If
    Else
        mrc.Bookmark = mybookmark
        Call viewData
    End If
         
End Sub


查询记录:MSHFlexGrid 控件的使用,及其与数据集的关联

With MSHFlexGrid1
        .Rows = 2               '默认其行数为2
        .CellAlignment = 4      '单元格的内容居中、居中对齐。
        .TextMatrix(1, 0) = "考试编号"      '命名每一列的列标题
        .TextMatrix(1, 1) = "学号"
        .TextMatrix(1, 2) = "姓名"
        .TextMatrix(1, 3) = "班号"
        .TextMatrix(1, 4) = "课程名称"
        .TextMatrix(1, 5) = "分数"
        
        '循环语句,当数据库中有对应条件的记录时,将对应记录赋给MSHFlexGrid1
        Do While Not mrc.EOF
            .Rows = .Rows + 1
            .CellAlignment = 4
            .TextMatrix(.Rows - 1, 0) = mrc.Fields(0)
            .TextMatrix(.Rows - 1, 1) = mrc.Fields(1)
            .TextMatrix(.Rows - 1, 2) = mrc.Fields(2)
            .TextMatrix(.Rows - 1, 3) = mrc.Fields(3)
            .TextMatrix(.Rows - 1, 4) = mrc.Fields(4)
            .TextMatrix(.Rows - 1, 5) = mrc.Fields(5)
            mrc.MoveNext
        Loop
        
    End With


学生选课窗体:注意ListBox 控件各属性和正确使用,注意年级、班级和课程直接的相互关联。

值得注意的一点,排除重复的选课。

If ListAllcourse.ListIndex <> -1 Then
        '排除重复选课,同一样的课不会选两次
        For i = 0 To ListSelectcourse.ListCount - 1
            If ListAllcourse.List(ListAllcourse.ListIndex) = ListSelectcourse.List(i) Then
                MsgBox "所选课程重复,请重新选择", vbOKOnly + vbExclamation, "警告"
                Exit Sub                                   '退出循环
            End If
        Next i
        ListSelectcourse.AddItem ListAllcourse.List(ListAllcourse.ListIndex)
 End If

抱歉!评论已关闭.