《VB课程设计报告 .doc》由会员分享,可在线阅读,更多相关《VB课程设计报告 .doc(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、沈 阳 航 空 航 天 大 学 课程设计学 号 _ _班 级 _ _ 姓 名 _ _ 指导教师 _ _ _ 2012年 3 月 9 日沈阳航空航天大学课程设计任务书学院:机电工程 专业:机械设计制造及其自动化 班级:学号:11题目:选择教师系统一、课程设计时间2012年3月59日(第1周),共计1周,20学时。二、课程设计内容有5位教师同时讲同一门课,而学习此课程的学生可以自由选取上课教师,但每个学生只能选1个老师。请模拟这个“选教师”系统。功能应包括以下方面:学生选教师。查询某位教师的学生人数。查询某位学生所选的教师。说明:教师名单和学生名单在“file18_选择教师系统.mdb” 数据库中
2、。在教师名单表中存储的数据为:教师编号,教师姓名,学生人数;在学生名单表中存储的数据为:学生学号,学生姓名,教师姓名。三、课程设计要求程序质量: 贯彻事件驱动的程序设计思想。 用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。 用户界面中的菜单至少应包括“选教师”、“查询教师情况”、“查询学生情况”、“降序打印教师名单”、“退出”5项。 代码应适当缩进,并给出必要的注释,以增强程序的可读性。课程设计说明书: 课程结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提供的模板。四、指导教师和学生签字指导教师:_ 学生签名:_五、成绩六、教师评目 录需求分析4设计分析4技术要点5主
3、要界面截图6总结9完整的源程序9参考文献14 需求分析模拟学生选教师系统,主要指“查询教师”和“查询学生”和“学生选老师”,“取消选择”、“倒序打印教师名单“的五种功能。教师可以查询学生已选情况,学生也可以查询老师情况,而且学生可以自由的选择老师,选择后信息自动存储到Assess数据库中。要求:使用ADO控件连接对象建立与数据提供者之间的连接,并使用ADO命令对象操作数据源,从数据源中产生记录集并存放内存中。能够查询教师的学生人数和学生已选教师情况。学生能够选择教师,同时能够取消选择,信息自动更新至Assess中。设计分析(1)概述:基本原理:建立程序设计与数据库的连接,用SQL语句在数据库中
4、查找,添加和更改数据。(2)总体设计:SQL语言处理数据库ADO技术连接(3)详细设计:取消选择开始连接数据库查询数据更新数据显示老师和学生情况学生选择老师查询数据技术要点 1关于数据库的连接使用ADO控件连接对象建立与数据提供者之间的连接,并使用ADO命令对象操作数据源,从数据源中产生记录集并存放内存中。2 SQL语句的应用(1) 选择教师是SQL语句在数据库中查找老师的学生人数和学生已选的教师姓名,然后进行修改assess数据后更新。(2) 查询教师情况和查询学生情况是通过SQL语句在数据库中查找老师的学生人数和学生已选的教师姓名,然后再窗体上显示出来。主要界面截图图1 程序主界面图2 学
5、生选择教师界面图3 查询教师情况界面图4 查询学生情况界面图5 降序打印教师名单总结 通过这次为期一周的VB课程设计,收获颇多。首先是对以往的VB的知识得以巩固,更学到了很多的新知识。尤其是对ADO数据库的应用。通过这次课设让我了解了VB与数据库之间的联系,可以应用ADO技术使VB与数据库进行联系,还可以应用SQL语言查询和更改数据库中的信息,并能向其中添加新的信息和运用desc把数据降序排列。对于VB有了重新的认识,认为它能解决更多的问题了。解决更加实际的问题,对自己的所学的专业也会有很多帮助。对于同学互帮互助也能得以体现,在自己不太明白的地方时,这时的帮助会提高很多。这就是团队吧。完整的源
6、程序Form1Private Sub 查教师_Click()Form3.ShowEnd SubPrivate Sub 查学生_Click()Form4.ShowEnd SubPrivate Sub 打印_Click()Form5.ShowEnd SubPrivate Sub 退出_Click()If MsgBox(确实要退出吗?, vbYesNo + vbQuestion, 提示!) = vbYes ThenEndEnd IfEnd SubPrivate Sub 选_Click()Form2.ShowEnd SubForm2Private Sub Command3_Click() If Dat
7、aGrid2.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.
8、Recordset.Update Dim e! e = Text3.Text e = e - 1 Adodc1.Recordset.Fields(xsrs) = e Adodc1.Recordset.Update End If End If End IfEnd SubPrivate Sub Form_Load() Dim mpath$, mlink$ mpath = App.Path 获取程序所在的路径 If Right(mpath, 2) Then mpath = mpath + 判断是否为子目录 以下两行代码可合成一句,mlink存放ConnectionString属性的设置值 mlink
9、=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.
10、ConnectionString=mlink 设置连接属性 Adodc1.CommandType = adCmdUnknown 指定记录集命令类型(可在设计时指定) Adodc1.RecordSource = Select * from 教师名单 Adodc1.Refresh Set DataGrid1.DataSource = Adodc1jiaoshi_num = 0End SubPrivate Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer) jiaoshi_num = DataGrid1.C
11、olumns(0).CellValue(DataGrid1.Bookmark)End SubPrivate 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 + vbE
12、xclamation 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 IfEnd SubPrivate Sub Command2_Click() 确认学号按钮 Dim m As Long IfText1Then 设置数据源 m = Val(T
13、ext1.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 IfEnd Sub Form3Dim b() As Single, c() As Single
14、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.RefreshEnd SubPrivate Sub Form_Load() Dim mpath$, mlink$ mpath = App.P
15、ath 获取程序所在的路径 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 = Adodc1End SubForm4Private Sub Form_Load() Adodc1.RefreshEnd SubModulePublic jiaoshi_num As IntegerPublic panduan_num As Integer参考文献1 龚沛曾、杨志强、陆慰Visual Basic程序设计教程北京:高等教育出版社,2007
限制150内