《VB期末程序设计大作业答案》作业设计
一、作业背景
随着计算机技术的不断发展,Visual Basic(简称VB)作为一种简单易学的编程语言,在程序设计领域有着广泛的应用。为了检验同学们在本学期VB程序设计课程中的学习成果,特设计本次期末程序设计大作业。通过本次作业,旨在让同学们运用所学知识,解决实际问题,提高编程能力。
二、作业要求
作业题目:设计一个简单的学生信息管理系统。
作业功能要求:
(1)系统应具备添加、删除、修改、查询学生信息的功能。
(2)学生信息包括:学号、姓名、性别、年龄、班级、联系电话。
(3)系统应能对学生信息进行排序(按学号、姓名、年龄等)。
(4)系统应具备数据持久化存储功能,即关闭程序后,数据不会丢失。
(5)系统界面友好,操作简便。
三、作业设计
系统架构设计
本次作业采用VB窗体应用程序设计,主要包括以下几个窗体:
(1)主窗体:用于显示系统菜单,包括添加、删除、修改、查询、排序等功能。
(2)添加学生信息窗体:用于输入学生信息。
(3)删除学生信息窗体:用于删除指定学生信息。
(4)修改学生信息窗体:用于修改指定学生信息。
(5)查询学生信息窗体:用于查询学生信息。
(6)排序学生信息窗体:用于对学生信息进行排序。
数据库设计
为了实现数据持久化存储,采用Access数据库存储学生信息。数据库中包含一个名为“Student”的表,字段包括:学号、姓名、性别、年龄、班级、联系电话。
功能模块设计
(1)添加学生信息模块
在添加学生信息窗体中,用户输入学生信息,点击“添加”按钮,将信息添加到数据库中。
关键代码:
Private Sub btnAdd_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim student As StudentInfo
Set db = CurrentDb()
Set rs = db.OpenRecordset("Student", dbOpenDynaset, dbAppendOnly)
student = GetStudentInfo()
With rs
.AddNew
.Fields("学号").Value = student.StudentID
.Fields("姓名").Value = student.Name
.Fields("性别").Value = student.Gender
.Fields("年龄").Value = student.Age
.Fields("班级").Value = student.Class
.Fields("联系电话").Value = student.Phone
.Update
End With
MsgBox "添加成功!"
End Sub
Private Function GetStudentInfo() As StudentInfo
Dim student As StudentInfo
student.StudentID = txtStudentID.Text
student.Name = txtName.Text
student.Gender = cboGender.Text
student.Age = txtAge.Text
student.Class = txtClass.Text
student.Phone = txtPhone.Text
GetStudentInfo = student
End Function
(2)删除学生信息模块
在删除学生信息窗体中,用户输入要删除的学生学号,点击“删除”按钮,从数据库中删除对应的学生信息。
关键代码:
Private Sub btnDelete_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim studentID As String
studentID = txtStudentID.Text
Set db = CurrentDb()
Set rs = db.OpenRecordset("Student", dbOpenDynaset)
With rs
.MoveFirst
Do While Not .EOF
If .Fields("学号").Value = studentID Then
.Delete
MsgBox "删除成功!"
Exit Do
End If
.MoveNext
Loop
End With
End Sub
(3)修改学生信息模块
在修改学生信息窗体中,用户输入要修改的学生学号,点击“查询”按钮,显示该学生的信息。用户修改信息后,点击“修改”按钮,更新数据库中的信息。
关键代码:
Private Sub btnSearch_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim studentID As String
studentID = txtStudentID.Text
Set db = CurrentDb()
Set rs = db.OpenRecordset("Student", dbOpenDynaset)
With rs
.MoveFirst
Do While Not .EOF
If .Fields("学号").Value = studentID Then
txtName.Text = .Fields("姓名").Value
cboGender.Text = .Fields("性别").Value
txtAge.Text = .Fields("年龄").Value
txtClass.Text = .Fields("班级").Value
txtPhone.Text = .Fields("联系电话").Value
Exit Do
End If
.MoveNext
Loop
End With
End Sub
Private Sub btnUpdate_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim student As StudentInfo
Set db = CurrentDb()
Set rs = db.OpenRecordset("Student", dbOpenDynaset)
student = GetStudentInfo()
With rs
.MoveFirst
Do While Not .EOF
If .Fields("学号").Value = student.StudentID Then
.Edit
.Fields("姓名").Value = student.Name
.Fields("性别").Value = student.Gender
.Fields("年龄").Value = student.Age
.Fields("班级").Value = student.Class
.Fields("联系电话").Value = student.Phone
.Update
MsgBox "修改成功!"
Exit Do
End If
.MoveNext
Loop
End With
End Sub
(4)查询学生信息模块
在查询学生信息窗体中,用户输入要查询的学生学号,点击“查询”按钮,显示该学生的信息。
关键代码:
Private Sub btnSearch_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim studentID As String
studentID = txtStudentID.Text
Set db = CurrentDb()
Set rs = db.OpenRecordset("Student", dbOpenDynaset)
With rs
.MoveFirst
Do While Not .EOF
If .Fields("学号").Value = studentID Then
txtName.Text = .Fields("姓名").Value
cboGender.Text = .Fields("性别").Value
txtAge.Text = .Fields("年龄").Value
txtClass.Text = .Fields("班级").Value
txtPhone.Text = .Fields("联系电话").Value
Exit Do
End If
.MoveNext
Loop
End With
End Sub
(5)排序学生信息模块
在排序学生信息窗体中,用户选择排序字段和排序方式,点击“排序”按钮,对数据库中的学生信息进行排序。
关键代码:
Private Sub btnSort_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim sortField As String
Dim sortOrder As String
sortField = cboSortField.Text
sortOrder = cboSortOrder.Text
Set db = CurrentDb()
Set rs = db.OpenRecordset("SELECT * FROM Student ORDER BY " & sortField & " " & sortOrder)
With rs
.MoveFirst
Do While Not .EOF
' 显示排序后的学生信息
lstStudents.AddItem .Fields("学号").Value & " " & .Fields("姓名").Value & " " & .Fields("性别").Value & " " & .Fields("年龄").Value & " " & .Fields("班级").Value & " " & .Fields("联系电话").Value
.MoveNext
Loop
End With
End Sub
四、作业评价
评价标准:
(1)程序功能完整,满足要求。
(2)代码规范,注释清晰。
(3)界面友好,操作简便。
(4)程序运行稳定,无错误。
评价方式:
(1)课堂演示:学生展示自己的程序,教师进行评价。
(2)代码审查:教师审查学生的代码,给出评价。
(3)学生互评:学生之间互相评价,给出建议。
五、作业总结
通过本次作业,同学们可以巩固所学知识,提高编程能力。同时,通过实际操作,同学们可以更好地理解数据库编程和VB窗体应用程序设计。希望同学们在完成作业的过程中,能够充分发挥自己的创意,设计出功能完善、界面友好的学生信息管理系统。