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