作业智慧树

结满作业设计丰硕成果

vb期末程序设计大作业答案

  《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窗体应用程序设计。希望同学们在完成作业的过程中,能够充分发挥自己的创意,设计出功能完善、界面友好的学生信息管理系统。

Copyright Your WebSite.Some Rights Reserved.