沈 阳 航 空 航 天 大 学
课程设计
学 号_ _
班 级___ ___
姓 名 ___ _____
指导教师_ __ ___
20##年 3 月 9 日
沈阳航空航天大学
课程设计任务书
学院:机电工程 专业:机械设计制造及其自动化 班级:04060101
学号:2010040601011 题目:选择教师系统
一、课程设计时间
20##年3月5~9日(第1周),共计1周,20学时。
二、课程设计内容
有5位教师同时讲同一门课,而学习此课程的学生可以自由选取上课教师,但每个学生只能选1个老师。请模拟这个“选教师”系统。功能应包括以下方面:
①学生选教师。
②查询某位教师的学生人数。
③查询某位学生所选的教师。
说明:教师名单和学生名单在“file18_选择教师系统.mdb” 数据库中。在教师名单表中存储的数据为:教师编号,教师姓名,学生人数;在学生名单表中存储的数据为:学生学号,学生姓名,教师姓名。
三、课程设计要求
程序质量:
² 贯彻事件驱动的程序设计思想。
² 用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。
² 用户界面中的菜单至少应包括“选教师”、“查询教师情况”、“查询学生情况”、“降序打印教师名单”、“退出”5项。
² 代码应适当缩进,并给出必要的注释,以增强程序的可读性。
课程设计说明书:
² 课程结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提供的模板。
四、指导教师和学生签字
指导教师:________ 学生签名:________
五、成绩
六、教师评
目 录
需求分析... 4
设计分析... 4
技术要点... 5
主要界面截图... 6
总结... 9
完整的源程序... 9
参考文献... 14
需求分析
模拟学生选教师系统,主要指“查询教师”和“查询学生”和“学生选老师”,“取消选择”、“倒序打印教师名单“的五种功能。教师可以查询学生已选情况,学生也可以查询老师情况,而且学生可以自由的选择老师,选择后信息自动存储到Assess数据库中。要求:
①使用ADO控件连接对象建立与数据提供者之间的连接,并使用ADO命令对象操作数据源,从数据源中产生记录集并存放内存中。
②能够查询教师的学生人数和学生已选教师情况。
③学生能够选择教师,同时能够取消选择,信息自动更新至Assess中。
设计分析
(1)概述:
基本原理:建立程序设计与数据库的连接,用SQL语句在数据库中查找,添加和更改数据。
(2)总体设计:
(3)详细设计:
技术要点
1关于数据库的连接
使用ADO控件连接对象建立与数据提供者之间的连接,并使用ADO命令对象操作数据源,从数据源中产生记录集并存放内存中。
2 SQL语句的应用
(1) 选择教师是SQL语句在数据库中查找老师的学生人数和学生已选的教师姓名,然后进行修改assess数据后更新。
(2) 查询教师情况和查询学生情况是通过SQL语句在数据库中查找老师的学生人数和学生已选的教师姓名,然后再窗体上显示出来。
主要界面截图
图1 程序主界面
图2 学生选择教师界面
图3 查询教师情况界面
图4 查询学生情况界面
图5 降序打印教师名单
总结
通过这次为期一周的VB课程设计,收获颇多。首先是对以往的VB的知识得以巩固,更学到了很多的新知识。尤其是对ADO数据库的应用。通过这次课设让我了解了VB与数据库之间的联系,可以应用ADO技术使VB与数据库进行联系,还可以应用SQL语言查询和更改数据库中的信息,并能向其中添加新的信息和运用desc把数据降序排列。
对于VB有了重新的认识,认为它能解决更多的问题了。解决更加实际的问题,对自己的所学的专业也会有很多帮助。
对于同学互帮互助也能得以体现,在自己不太明白的地方时,这时的帮助会提高很多。这就是团队吧。
完整的源程序
Form1
Private Sub 查教师_Click()
Form3.Show
End Sub
Private Sub 查学生_Click()
Form4.Show
End Sub
Private Sub 打印_Click()
Form5.Show
End Sub
Private Sub 退出_Click()
If MsgBox("确实要退出吗?", vbYesNo + vbQuestion, "提示!") = vbYes Then
End
End If
End Sub
Private Sub 选_Click()
Form2.Show
End Sub
Form2
Private Sub Command3_Click()
If DataGrid2.Visible = False Then
MsgBox "请输入学号!", vbOKOnly + vbExclamation
Else
If Text4.Text = Text5.Text Then
MsgBox "请选择教师!", vbOKOnly + vbExclamation
Else
If Not Text2.Text = Text4.Text Then
MsgBox "请先点击您已选择的教师!", vbOKOnly + vbExclamation
Else
Dim d$
d = Text5.Text
Adodc2.Recordset.Fields("jsxm") = d
Adodc2.Recordset.Update
Dim e!
e = Text3.Text
e = e - 1
Adodc1.Recordset.Fields("xsrs") = e
Adodc1.Recordset.Update
End If
End If
End If
End Sub
Private Sub Form_Load()
Dim mpath$, mlink$
mpath = App.Path ' 获取程序所在的路径
If Right(mpath, 2) <> "\" Then mpath = mpath + "\" '判断是否为子目录
' 以下两行代码可合成一句,mlink存放ConnectionString属性的设置值
mlink="Provider=Microsoft.Jet.OLEDB.4.0;" ' 指定提供者
mlink = mlink + "Data Source=" + mpath + "file18_选择教师系统.mdb" ' 在数据库文件名前插入路径
Adodc2.ConnectionString = mlink ' 设置连接属性
Adodc2.CommandType = adCmdUnknown ' 指定记录集命令类型(可在设计时指定)
Adodc2.RecordSource = " Select * from 学生名单"
Adodc2.Refresh
Set DataGrid2.DataSource = Adodc2
Adodc1.ConnectionString=mlink ' 设置连接属性
Adodc1.CommandType = adCmdUnknown ' 指定记录集命令类型(可在设计时指定)
Adodc1.RecordSource = " Select * from 教师名单"
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
jiaoshi_num = 0
End Sub
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
jiaoshi_num = DataGrid1.Columns(0).CellValue(DataGrid1.Bookmark)
End Sub
Private Sub Command1_Click() '确认选教师按钮
If DataGrid2.Visible = False Then
MsgBox "请输入学号!", vbOKOnly + vbExclamation
Else
If Not Text4.Text = Text5.Text Then
MsgBox "请先取消所选教师!", vbOKOnly + vbExclamation
Else
If jiaoshi_num = 0 Then
MsgBox "请先选择教师!", vbOKOnly + vbExclamation
Else: Dim a As Single
Dim b$
a = Text3.Text
a = a + 1
Adodc1.Recordset.Fields("xsrs") = a
Adodc1.Recordset.Update
b = Text2.Text
Adodc2.Recordset.Fields("jsxm") = b
Adodc2.Recordset.Update
End If
End If
End If
End Sub
Private Sub Command2_Click() '确认学号按钮
Dim m As Long
IfText1>""Then '设置数据源
m = Val(Text1.Text)
Adodc2.RecordSource = "select * from 学生名单 where id = " & m
DataGrid2.Visible = True
Else
Adodc2.RecordSource = "select * from 学生名单" '未指定编号
End If
Adodc2.Refresh
If Text4 = "" Then
MsgBox "无此学号信息!", vbOKOnly + vbExclamation
DataGrid2.Visible = False
End If
End Sub
Form3
Dim b() As Single, c() As Single
Private Sub Command2_Click()
Dim a As Long
If Text1 > "" Then '设置数据源
a = Val(Text1.Text)
Adodc1.RecordSource = "select * from 教师名单 where id = " & a
Else
Adodc1.RecordSource = "select * from 教师名单" '未指定编号
End If
DataGrid1.Visible = True
Adodc1.Refresh
End Sub
Private Sub Form_Load()
Dim mpath$, mlink$
mpath = App.Path ' 获取程序所在的路径
If Right(mpath, 1) <> "\" Then mpath = mpath + "\" ' 判断是否为子目录
' 以下两行代码可合成一句,mlink存放ConnectionString属性的设置值
mlink = "Provider=Microsoft.Jet.OLEDB.4.0;" ' 指定提供者
mlink = mlink + "Data Source=" + mpath + "file18_选择教师系统.mdb" ' 在数据库文件名前插入路径
Adodc1.ConnectionString = mlink ' 设置连接属性
Adodc1.CommandType = adCmdUnknown ' 指定记录集命令类型(可在设计时指定)
Adodc1.RecordSource = " Select * from 教师名单"
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
End Sub
Form4
Private Sub Form_Load()
Adodc1.Refresh
End Sub
Module
Public jiaoshi_num As Integer
Public panduan_num As Integer
参考文献
[1] 龚沛曾、杨志强、陆慰.《Visual Basic程序设计教程》.北京:高等教育出版社,2007
第二篇:VB课程设计报告
高级程序语言课程设计 系部名称
学生姓名
专业名称
班 级
学号
时间 报 告 书 人文社会科学学院 薛一丰 行政管理 0901 10091029 2010-12-13 至 2010-12-17
: : : : : :
一、课程设计题目:
设 计 学 生 信 息 管 理 系 统
二、课程设计目的:
1. 了解学生信息管理系统的内容。
2. 掌握学生信息管理系统的基本运行模式。
3. 掌握学生信息管理系统设计的基本源程序。
4. 熟练掌握如何使用“If……Then”语句。
5. 掌握界面之间的链接程序语句。
三、课程设计内容及详细设计及运行结果: (一)欢迎界面:
1、界面:编写程序,在窗体上实现如图1.1所示的图形
图1.1 “欢迎界面”的界面
2、 代码:(1)用户由此进入按钮:
Private Sub Command1_Click()
登陆界面.Show
End Sub
(2)添加用户按钮:
Private Sub Command2_Click()
添加用户.Show
End Sub
(3)退出按钮:
Private Sub Command3_Click()
End
End Sub
(二)登陆界面
1、界面:编写程序,在窗体上实现如图1.2所示的图形
图1.2 “登录界面”的界面
2、代码:(1)确定按钮:
Private Sub Command1_Click()
If Text2.Text = "xyf" And Text1.Text = "xyf" Then
MsgBox "欢迎" & Text1.Text & "进入学生信息查询系统!",
64, "学生信息管理系统"
Me.Hide
Unload 登陆界面
基本信息.Show
Else
MsgBox "密码或用户名有误!"
m = m + 1
Text2 = ""
Text1 = ""
Text1.SetFocus
If m > 2 Then
MsgBox "请核对密码重新登录!"
End If
End If
End Sub
(2)清空按钮:
Private Sub Command2_Click()
Text1.Text = ""
Text2.Text = ""
End Sub
(3)退出按钮:
Private Sub Command3_Click()
Unload 登陆界面
End Sub
(4)修改密码按钮:
Private Sub Label4_Click()
修改密码.Show
Unload 登陆界面
End Sub
(三)学生基本信息界面
1、界面:编写程序,在窗体上实现如图1.3所示的图形
图1.3 “学生基本信息”的界面
2、代码:(1)添加按钮:
Private Sub Command1_Click()
List1.AddItem Text1 + Text2 + Text3 + Text4
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End Sub
(2)删除按钮:
Private Sub Command2_Click()
List1.RemoveItem (List1.ListIndex)
End Sub
(3)退出按钮:
Private Sub Command3_Click()
Unload 基本信息
欢迎界面.Show
End Sub
(四)添加用户界面
1、界面:编写程序,在窗体上实现如图1.4所示的图形
图1.4 “添加用户”的界面
2、代码:(1)确认按钮:
Private Sub Command1_Click()
If Trim(Text1.Text) = "" Then
MsgBox "请输入用户名称!", vbOKOnly + vbExclamation, "
警告"
Exit Sub
End If
If Trim(Text2.Text) <> Trim(Text3.Text) Then
MsgBox "两次输入密码不一样,请确认!", vbOKOnly +
vbExclamation, "警告"
Text2.Text = ""
Text3.Text = ""
Exit Sub
Else
If Text2.Text = "" Then
MsgBox "密码不能为空!", vbOKOnly + vbExclamation, "警
告"
Exit Sub
End If
If Combo1.Text = "" Then
MsgBox "请选择权限!", vbExclamation
Combol.SetFocus
Exit Sub
End If
End If
Open "H:\vb课程设计33\添加用户.txt" For Output As #1 Write #1, Text1.Text, Text2.Text, Text3.Text, Combo1.Text Close #1
MsgBox "添加用户成功!", vbOKOnly + vbExclamation, "添
加用户"
Unload 添加用户
End Sub
(2)取消按钮:
Private Sub Command2_Click()
Unload 添加用户
End Sub
(五)修改密码界面:
1、界面:编写程序,在窗体上实现如图1.5所示的图形
图1.5 “修改密码”的界面
2、代码:(1)确认按钮:
Private Sub Command1_Click()
If Trim(Text1.Text) <> "xyf" Then
MsgBox "用户名错误,请确认!", vbOKOnly +
vbExclamation, "警告"
Text1.Text = ""
Exit Sub
Else
If Trim(Text2.Text) <> "xyf" Then
MsgBox "用户密码错误,请确认!", vbOKOnly +
vbExclamation, "警告"
Text2.Text = ""
Exit Sub
Else
If Text3.Text = "" Then
MsgBox "密码不能为空!", vbOKOnly + vbExclamation,
"警告"
Exit Sub
Else
If Text4.Text = "" Then
MsgBox "密码不能为空!", vbOKOnly + vbExclamation, "
警告"
Exit Sub
Else
If Trim(Text3.Text) <> Trim(Text4.Text) Then
MsgBox "两次密码输入有误,请确认!", vbOKOnly +
vbExclamation, "警告"
Exit Sub
Else
MsgBox "密码修改成功!"
Me.Hide
End If
End If
End If
End If
End If
Open "H:\vb课程设计33\修改密码.txt" For Output As #1
Write #1, Text1.Text, Text2.Text, Text3.Text, Text4.Text Close #1
End Sub
(2)清空按钮:
Private Sub Command2_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End Sub
(3)退出按钮:
Private Sub Command3_Click()
Unload 修改密码
End Sub
四、调试情况及体会心得:
1、调试情况:
① 在设计过程中,界面的名称在caption属性中更改。
② 在程序设计结束时,一定要注意结束语句的编写。
③ 在程序设计过程中,一定要注意“If……Then”语句使用的正确与否。 ④ 通过F8进行调试,检验代码正确与否,结果表明代码正确。进行运算,证明该程序可行。
2、体会和心得:
① VB语言是一种让我觉得很有挑战性、很有趣的一种语言,作为一名文
科生,在最初接触他的时候会觉得很困难,,但在慢慢的实验和学习中,渐渐觉得他并不像想象中那么困难,一步一步的熟悉,发现他的奇妙和实用性,也能一步一步完成一些简单基本的程序设计。
② 在编写程序的过程中,一定要严谨认真,细心仔细。在对界面进行设计时,一定要好好理解题目的要求,并针对要求进行代码的编写。 ③ 在整个程序编写完成后一定要记得进行调试,查看程序编辑的整体效
果。
④ 在这一周时间的课程设计中,我体会到完成一项工作并不像想象中那
么简单,要踏踏实实,严谨认真的去做。每天面对着电脑编写程序,要去仔细的检查他的可运行性,锻炼自己的逻辑性,这个过程让我受益匪浅。