学生选课系统实验报告

  • 格式:doc
  • 大小:953.00 KB
  • 文档页数:8

选课系统实验报告
一、实验目的
(1)掌握常用内部控件的主要属性、事件和方法,利用常用控件进行程序设计以及编程;
(2)掌握使用Access或者SQL sever建立数据库,实现VB与数据库的链接;
(3)掌握ADO控件的属性,事件,和方法,利用控件进行程序设计。

二、实验要求
(1)设计一个学生选课系统,实现选课、退课及查询的功能;
(2)四周时间内完成,第十五周上交。

三、实验步骤
(1)查找资料,在脑中形成基本框架;
(2)建立SQL Sever 数据库表“学生基本信息表”、“课程信息表”、“已选课程表”,插入数据并保存脚本文件;
(3)建立窗体框架,包括登录窗体“登录”、父窗体“学生选课管理系统”
和其他6个子窗体;
(4)运用VB常用控件和ADO控件及DataGrid控件设计每个窗体的界面(以下为几个主要界面);
(5)利用ADO实现与数据库表的链接,编写相应代码(全部代码在工程
里,在此仅复制主要窗体的代码);
登录窗体代码:
Private Sub Command1_Click()
If (Text1.Text = 123 And Text2.Text = 123 And Option1.V alue = True) Or (Text1.Text = 321 And Text2.Text = 321 And Option2.V alue = True) Then
学生选课管理系统.Show
登录.Visible = False
Else
MsgBox "你的输入的用户名和密码不匹配,或者没有选择用户身份!", 64, "提示信息"
Text1.Text = ""
Text2.Text = ""
Text1.SetFocus
End If
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Text1_click()
MsgBox "请查看Word文档“操作说明”获得用户名和密码!", 64, "温馨提示"
End Sub
Private Sub Timer1_Timer()
If Label3.Left > 6000 Then
Label3.Left = 0
Else
Label3.Refresh
End If
End Sub
Private Sub Timer2_Timer()
Label3.Left = CInt(Label3.Left) + 10
End Sub
Private Sub Timer3_Timer()
Label3.Left = -1700
End Sub
选课系统窗体代码:
Private Sub Form_Load()
If 登录.Option1.V alue = True Then
学生个人课表.Enabled = False
学生选课.Enabled = False
ElseIf 登录.Option2.V alue = True Then 基本信息管理.Enabled = False
课程信息管理.Enabled = False
所有学生信息.Enabled = False
End If
End Sub
Private Sub 基本信息管理_Click() Dim newdoc As New 基本信息管理newdoc.Show
End Sub
Private Sub 课程信息管理_Click() Dim newdoc As New 课程信息管理newdoc.Show
End Sub
Private Sub 所有学生信息_Click() Dim newdoc As New 所有学生信息newdoc.Show
End Sub
Private Sub 退出_Click()
End
End Sub
Private Sub 学生选课_Click()
Dim newdoc As New 学生选课newdoc.Show
End Sub
Private Sub 可选课程信息_Click() Dim newdoc As New 可选课程信息newdoc.Show
End Sub
Private Sub 学生个人课表_Click() Dim newdoc As New 学生个人课表newdoc.Show
End Sub
课程信息管理窗体代码:Private Sub Command1_Click()
Adodc1.Recordset.AddNew
End Sub
Private Sub Command2_Click()
Adodc1.Recordset.Update
End Sub
Private Sub Command3_Click()
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
End Sub
Private Sub Command4_Click()
End
End Sub
Private Sub 课程信息管理_Load()
Adodc1.Recordset.MoveFirst
End Sub
学生选课窗体代码:
Private Sub Command1_Click()
If Text1.Text = "" And Text2.Text = "" And Text3.Text = "" And Text4.Text = "" Then MsgBox "已无课程可选!", 64, "提示信息"
Else
Adodc2.Recordset.AddNew
Adodc2.Recordset.Fields("课程代码").V alue = Text1.Text
Adodc2.Recordset.Fields("课程名称").V alue = Text2.Text
Adodc2.Recordset.Fields("学时").V alue = Text3.Text
Adodc2.Recordset.Fields("学分").V alue = Text4.Text
Adodc2.Recordset.Update
Adodc1.Recordset.Delete
Adodc1.Refresh
MsgBox "恭喜你选课成功", 64, "提示信息"
End If
End Sub
Private Sub Command2_Click()
If Text5.Text = "" And Text6.Text = "" And Text7.Text = "" And Text8.Text = "" Then MsgBox "已退完!", 64, "提示信息"
Else
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("课程代码").V alue = Text8.Text
Adodc1.Recordset.Fields("课程名称").V alue = Text7.Text
Adodc1.Recordset.Fields("学分").V alue = Text6.Text
Adodc1.Recordset.Fields("学时").V alue = Text5.Text
Adodc1.Recordset.Update
Adodc2.Recordset.Delete
Adodc2.Refresh
MsgBox "退课成功", 64, "提示信息"
End If
End Sub
(6)运行测试程序,修改不足的地方,生成exe文件。

四、心得体会
首先,我有一个问题没有解决,跟同学一起探讨了几天也没有弄出来,由于快考四级了也没有太多的时间去研究,希望老师帮忙解答一下。

用一个ADO控件实现“基本信息表”和“已选课程表”的对应链接,这样就可以实现每个同学选课,而不是一个同学选课,界面如下:
其次,做一个不可能一次性做得完美,需要时间去查看资料、构成框架、设计界面,其实更多的是在修改上面,很多时候灵感是源于看得多、做的多、迷惑得多。

第三,无论做得好不好,都应该自己做而不是把网上的或同学的copy 过来,当自己的车工序运行出来时,是很有成就感的。

最后,对于我个人而言,我很喜欢VB,但是这学期一直把重心放在英语四级,这个程序还很不完美,有很多地方需要改进,等四级考完了要继续完成,至少做到我自己比较满意的程度。