学生成绩管理系统文档

上传人:gao****ang 文档编号:210756669 上传时间:2023-05-18 格式:DOCX 页数:42 大小:302.36KB
收藏 版权申诉 举报 下载
学生成绩管理系统文档_第1页
第1页 / 共42页
学生成绩管理系统文档_第2页
第2页 / 共42页
学生成绩管理系统文档_第3页
第3页 / 共42页
资源描述:

《学生成绩管理系统文档》由会员分享,可在线阅读,更多相关《学生成绩管理系统文档(42页珍藏版)》请在装配图网上搜索。

1、目录.、/. 、T前 言 1第一章 学生成绩管理系统 211需求分析 2111系统概述 2112系统运行环境 21. 1. 3 功能需求描述 3第二章 总体设计及流程图 32.1开发与设计的总体思想 32.2系统模块结构图 32.2.1模块设计 42.2.2界面设计 62.2.3数据库设计 12第三章 详细设计 153.1学生管理模块 153.2教师管理模块 203.3班级管理模块 293.4课程管理模块 313.5成绩管理模块 32参考文献 40几年的学习即将结束,经过几个月的努力,我所设计的“学生成绩管理系统”也已完成。以往学的都是理论性很强的知识,再加上实践机会不多,更增强了我对计算机科

2、学的兴趣。在这段时间里,我增强了自己动手的能力,更重要的是似乎把握住了计算机的一些实质性的东西终于能够用我所学的知识解决 一些实际应用的问题了。但我知道,数据库技术只是计算机科学的一个小小分支,计算机还有更广阔的领 域有待我们去探索。这次毕业设计是用Visul Basic语言设计的“学生成绩管理系统” 这就要求对Visul Basic语言及数据库技术能够真正了解和熟练的掌握,并且能够灵活的运用。当今的时代是信息的时代,数据库技术是数据管理的最新方法,也是信息管理中一项非常重要的新技 术,数据库管理是帮助人们处理大量信息,实现科学化和现代化的强有力工具,数据库管理子系统已发展 成为通用的系统软件

3、。由于数据库具有数据结构化、最低冗余度、较高的程序独立性、易于扩充、易于编 制应用程序等优点,因而是近年来发展非常迅猛的计算机软件。数据库技术是数据信息管理技术的最新成 果,被广泛应用于国民经济、文化教育、军事情报、科学计算、人工智能和计算机辅助设计领域,为计算 机的应用开辟了广阔的天地。第一章 学生成绩管理系统11 需求分析考试成绩是学生在校期间的重要历史资料,学生成绩信息的管理(成绩的录入、查询、分类统计等) 是各个学校面临的一个重要问题。该成绩管理系统主要是用于管理在校学生的考试成绩,对教、班级、学 生、课程和成绩信息进行维护与管理。本系统要求运行稳定,图形用户界面符合用户的日常使用习惯

4、,数 据处理正确无误。111系统概述学生成绩管理系统主要完成学生成绩的管理,包括:(1)教师管理。主要完成教师的添加、修改、删除和查询。(2)班级管理。主要完成班级的添加、修改、删除和班级列表。(3)学生管理。主要完成对学生信息的添加、修改、删除和查询。(4)课程管理。主要完成对课程信息的维护,包括课程添加、修改、删除和查询功能。(5)成绩管理。主要完成成绩的添加、删改和成绩杳询。112系统运行环境1硬件环境处理器:Intel pentiuml66MX 或更高。 内存:32M以上。 硬盘空间:1GB以上。 显卡:SVGA显示适配器。2软件环境操作系统:Windows98/XP/2000/ME1

5、.1.3 功能需求描述该系统的功能需求有如下几个方面:(1)教师管理。主要用于对教师信息进得维护。功能包括新教师信息的添加、修改和删除已有的教师信息,对教师信息进行查询。(2)班级管理。主要用于对班级信息进行维护。功能包括对班级信息的添加、删改和班级列表。(3)学生管理。主要用于维护学生信息。功能包括对学生信息的添加、删改和查询。(4)课程管理。主要用于维护课程信息,功能包括课程的添加、删改和查询。(5)成绩管理。用于维护成绩信息,功能包括成绩的添加和查询。第二章 总体设计及流程图上面的需求分析已经对系统的功能需求、环境需求做了较为明确的阐述。根据上述需求,下面按照开发设计思想、功能模块、图形

6、用户界面、数据库等方面阐述成绩管理系统的总体设计。2.1 开发与设计的总体思想 作为学校使用的成绩管理系统,能够满足成绩管理的基本功能需求,界面简单、操作简便是设计的一个重要考虑。2.2 系统模块结构图依据需求分析结果,成绩管理系统的主要模块包括:教师管理、班级管理、学生管理、课程管理和成绩管理等功能,系统结构如图2-1所示。图2T系统模块结构图2.2.1模块设计1. 教师管理模块教师管理模块提供对教师信息的添加、修改、删除和查询功能。教师管理模块的功能树如图2-2所示。图教师管理模块功能树2. 班级管理模块该模块主要提供的功能包括添加新的班级信息、删改班级信息和班级列表功能。班级管理模块的功

7、 能树如图2-3所示。图A3 班级管理模块功能树3. 学生管理模块该模块提供学生信息的添加、修改、删除和查询功能。学生管理模块的功能树如图2-4所示。图A4学生管理模块功能树4. 课程管理模块该模块提供课程信息的添加、修改、删除和查询功能。课程管理模块的功能树如图2-5所示。2-5课程管理模块功能树5. 成绩管理模块该模块提供成绩信息的添加、修改、删除和查询功能。成绩管理模块的功能树如图2-6所示。成绩管理模块功能树2.2.2界面设计界面设应计应遵循简洁美观、方便易用的基本原则,具体设计如下。1.主窗体菜单设计充分考虑界面易于操作的系统需求,主窗体使用简单和直观的菜单设计,提供学生管理、教师管

8、理、 班级管理、课程管理和成绩管理的菜单操作方式,主窗体菜单设计的效果图如图2-7所示。图2-7主窗体菜单设计的效果图1.教师管理菜单设计(1)教师信息添加界面设计教师信息添加界面使用文本框输入教师相关基本信息,使用组合列表框选择部门和性别。单击添加按 钮保存教师信息,单击返回按钮返回主菜单。具体设计效果图如图2-8所示。图2-8具体设计效果图(2) 教师信息修改删除界面设计教师信息删改界面提供了组合列表框,用于选择部门和教师编号,教师编号组合列表框中的数据随部 门组合列表值的变化而变化,选择教师编号,就会在下面显示出该教师的基本信息。具体设计效果图如图 2-9所示。图2-9具体设计效果图(3

9、) 教师信息查询界面设计教师信息查询界面使用三个单选按钮提供了三种查询方式:按部门查询、按职称查询和查询全部教 师信息。在按部门查询方式中,需要从后面的组合列表框中选择部门。按职称查询需要在后面的组合列表框 中选择职称。单击查询按钮就会根据所选择的查询方式,从数据库中查找符合条件的数据,并显示到下面 的表格中。具体设计效果图如图1T0所示。2. 学生管理界面设计(1) 学生信息添加界面设计学生信息添加界面使用文本框输入学生的姓名、学号、生日、电话、地址和备注信息。同时使用了两 个组合列表框,分别用于选择班级和性别。组合列表框中的数据会在窗体加载的时候就进行初始化。具体 设计效果图如图1-11所

10、示。(2) 学生信息删改界面设计在学生信息删改界面中,在班级组合列表框中选择班级,该班级的所有学号会添加到学号组合列表框 中,在学号组合列表框中选择学号,就会在下方显示该学生的基本信息。根据需要单击修改按钮来修改学 生信息,也可以单击删除按钮来删除该学生的信息,或是单击返回按钮返回主菜单。具体设计效果图如图 2-10所示。图2-10具体设计效果图(3) 学生信息查询界面设计学生信息查询办面提供了四种查询方式:全部、按班级查询、按学号查询和按姓名查询。提供了一个表格用于赤示查询结果。3. 课程管理界面设计(1) 课程信息添加界面设计课程添加界面提供了文本框,用于输入课程名称、课程编号、课程学时数

11、和学分等课程基本信息。并且 提供了两个组合列表框,分别用于选择课程类型和任课教师。这两个组合列表框的数据是在加载窗体的时 候进行初始化的。(2) 课程信息删改界面设计课程信息删改界面提供了文本框,用于输入课程编号,单击查询按钮就会查找该课程编号所代表的课程 信息,找到后将信息显示出来。修改和删除按钮用于完成修改和删除操作。具体设计效果图如图2-11所示。图2-11 具体设计效果图(3) 课程查询界面设计课程查询界面使用单选按钮提供了四种查询方式:查询全部、按课程名称查询、按课程号查询和按课 程类型查询。使用表格显示查询结果。4. 成绩管理界面设计(1) 成绩录入界面设计成绩界面使用文本框输入学

12、生学号和课程成绩。使用组合列表框选择课程编号。使用表格显示查询结 果。使用两个文本框显示学生姓名和课程名称。这两个文本框是不可编辑的。具体设计效果图如图2-12所示。图2-12 具体设计效果图(2)成绩删改界面设计在成绩删改界面中的文本框中输入学生学号,在组合列表框中选择课程编号,单击查询按钮就会查询 相关课程的考试成绩,成绩信息赤示在下面的课程基本信息中。可以单击修改或删除按钮来完成成绩的修 改和删除。具体设计效果图如图2-13所示。图 2-13 具体设计效果图(3)成绩查询界面设计 成绩查询界面提供了三种查询方式:按学号、按课程和按成绩查询。使用表格显示查询结果2.2.3 数据库设计 根据

13、系统功能设计的要求以及功能模块的划分,数据库表结构设计如下。1. 学生信息表名称:学生信息表(见表 2-1)表名称标识:studentinfo数据来源:学生管理模块进行录入。2教师信息表名称:教师信息表(见表 2-2)表名称标识:teacherinfo数据来源:教师管理模块进行录入。表 2-1 学生信息表名称字段名称类型主键非空学号Stu_no文本YesYes姓名Name文本NoYes班级编号Class_no文本NoYes出生日期Birthdate数字NoYes性别Sex文本NoYes通信地址Address文本NoNo联系电话TelNo文本NoNo备注信息Memo文本NoNo表 2-2教师信息

14、表名称字段名称类型主键非空员工编号Teacher_no文本YesYes姓名Name文本NoYes部门Department文本NoYes出生日期Birthdate日期/时间NoYes性别Sex文本NoYes通信地址Address文本NoNo联系电话telNo文本NoNo职称title文本NoYes备注信息memo文本NoNo3.班级信息表名称:班级信息表(见表 2-3)表名称标识:classinfo数据来源:班级管理模块进行录入。表 2-3 班级信息表名称字段名称类型主键非空班级编号ClassNo文本YesYes班级名称className文本NoYes4.部门信息表 名称:部门信息表(见表 2-

15、4)表名称标识:departmentinfo 数据来源:数据库设计时录入。表 2-4 部门信息表名称字段名称类型主键非空部门编号Dept_no文本YesYes部门名称Dept_name文本NoYes5. 课程信息表名称:课程信息表(见表 2-5)表名称标识:courseinfo数据来源:课程管理模块录入。表 2-5 课程信息表名称字段名称类型主键非空序号No自动编号YesYes课程编号Course_no文本NoYes课程名称Course_name文本NoYes课程类型Course_type文本NoYes学时数Course_hours数字NoYes学分Score数字NoYes授课教师Teache

16、r文本NoYes6. 成绩信息表名称:成绩信息表(见表2-6)表名称标识:scoreinfo数据来源:成绩管理模块录入。表2-6 成绩信息表主键非空名称字段名称类型编号No自动编号YesYes学号Stu_no文本NoYes课程号Course_no文本NoYes成绩Score数字NoYes第三章 详细设计基于系统需求分析与系统总体设计的结论,本系统采用Visual Basic 6.0实现各模块的功能,下面按照功能模块的划分来分别阐述系统的详细设计和实现过程。3.1 学生管理模块1. 功能描述为用户提供学生信息的添加、修改、删除和查询界面,完成学生信息的添加、修改、删除和查询功能。2. 窗体和源文

17、件定义该功能模块涉及到的窗体名称和文件名参见表3-1。表3-1 窗体列表窗体各称 窗体文件名frmStudentfrmStudent.frmfrmUpdateStudentfrmUpdateStudent.frmfrmQueryStudentfrmQueryStudent.frmModule1 Module1.bas作用用于学生信息添加用于修改、删除学生信息用于查询学生信息用于定义全局变量和公用函数3. 变量声明窗体模块中的声明Public sqlstr As StringPublic msgText As String代码模块中的声明Public dbpath As StringPublic

18、 connStr As String4. 函数与方法声明该功能模块涉及到的函数/方法及其功能参见表3-2。表3-2 主要函数与方法Sub initForm()初始化窗体上的文本框和组合列表框frmUpdateStudentfrmQueryStudentModule1Private sub cmdOK_click()在数据库中添加学生信息Sub initClass()Sub initStudentNo()Sub getStudentNo()Private Sub cmdDelete_click()Private sub cmdUpdate_click()Sub initClass()Privat

19、e Sub cmdOK_click()PublicFunctionExecuteSQL(ByVal在组合列表框中列出所有班级在组合列表框中列出所有学号获取学生信息删除学生信息修改学生信息在组合列表框中列出所有班级查询学生信息SQL执行SQL语句并返回结果集As String,MsgString As String)AsADODB.Recordset(l) frmStudent 窗体:Sub initClass()功能:主要用来完成学生信息添加窗体加载时对班级的初始化,从班级信息表中获取所有的班级名称并将其放置到窗体中的组合列表框中供用户选择。输入:无。(2) frmStudent 窗体:Pri

20、vate Sub cmdOk_click()功能:获取学生信息添加窗口中的输入数据,将学生信息添加到数据库中。输入:信息添加窗口的输入和选择。处理:1) 获取信息输入窗口中填写的数据。2) 执行查询得到结果集,然后调用结果集对象的addNew方法。3) 设置各个字段的值。4) 调用update方法更新结果集,完成学生信息添加。输出:将数据写入学生信息表。(3) frmUpdateStudent 窗体:Sub initStudentNo() 功能:从数据库中读取所有的学号信息,并将其添加到组合列表框中。 输入:无。处理:1) 执行SQL语句,根据班级编号查询学号信息,得到结果集。2) 情况组合列

21、表框。3) 遍历结果集,将所有学号添加到组合列表框中。 输出:带有学号信息的组合列表框。(4) frmUpdateStudent 窗体:Sub getStudentInfo() 功能:根据学号从数据库中查找学生信息并显示出来。 输入:学生学号。处理:1) 执行SQL语句,根据学号查找学生信息,得到结果集。2) 取结果集中的每个字段的信息显示到窗体上。输出:显示学生信息。(5) frmUpdateStudent 窗体:private sub cmdUpdate_Click() 功能:根据学生信息删改窗体中重新输入的数据修改数据库中的数据记录。 输入:删改窗体上输入的字段数据。处理:1) 得到用于

22、数据更新的SQL语句。2) 执行SQL语句,完成数据更新,根据执行结果的正确与否,给出相应提示。 输出:修改后的数据。(6) frmUpdateStudent 窗体: Private sub cmdDelete_Click() 功能:删除数据库中当前显示的学生信息。输入:删改窗体上输入的字段数据。处理:1、得到用于数据删除的SQL语句。2、执行SQL语句,完成数据删除,根据执行结果的正确否,给出相应提示。输出:无(7) Module1 代码模块:public Function ExecuteSQL(ByValSQL As String ,MsgString AsString)AsADODB.R

23、ecordset功能:执行SQL语句。输入:SQL语句。处理:1) 建立数据库连接。2) 判断传递进来的SQL语句的类型并执行。3) 将执行后得到的结果集对象作为该函数的返回值返回。输出:结果集对象。3.2 教师管理模块1功能描述该模块提供教师信息的添加、修改、删除和查询界面,完成教师信息的添加、修改、删除和查询功能2窗体和源文件定义该功能模块涉及到的窗体名称和文件名参见表3-3。表3-3 窗体列表窗体名称窗体文件名frmAddTeacherfrmAddTeacher.frmfrmUpdateTeacherfrmQueryTeacher3.变量声明窗体模块中的声明frmUpdateTeache

24、r.frmfrmQueryTeacher.frm作用用于教师信息添加用于修改、删除教师信息用于查询教师信息Public sqlstr As StringPublic msgText As String代码模块中的声明Public dbpath As StringPublic connStr As String 4.函数与方法声明该功能模块涉及到的函数/方法及其功能参见表3-4。表3-4 主要函数与方法Sub initDepartment()在组合列表框中列出所有部门名称frmAddTeacherSub initForm()初始化窗体上的文本框和组合列表框Private sub cmdOK_Cl

25、ick()添加教师信息Sub initDepartment()在组合列表框中列出所有部门名称Sub initTeacherNo()在组合列表框中列出所有教师编号frmUpdateTeacherSub getTeacherNo()获取教师信息Private sub cmdDelete_click()删除教师信息privatesubcmdUpdate_click()修改教师信息Sub initDepartment()在组合列表框中列出所有部门名称frmQueryTeacherSub initTitles()在组合列表框中列出所有的职称查询教师信息Private sub queryTeacher()

26、(1) frmAddTeacher 窗体:Sub initDepartment()功能:主要用来获取所有的部门名称并将其放置到窗体中的组合列表框中供用户选择。输入:无。处理:1) 得到查询部门名称的SQL语句。2) 调用ExecuteSQL方法执行SQL语句并得到结果集。3) 清空组合列表框。4) 读取结果集中的所有数据并添加到列表框中。输出:包含所有部门名称的组合列表框。程序清单:Sub initDepartment()Dim rstDept As ADODB.Recordset从数据库中读取所有部门并添加到组合列表框中方便录入时进行选择sqlStr=”select dept_name fr

27、om departmentInfo”set rstDept=ExecuteSQL(sqlStr,msgText)cboDept.ClearIf Not rstDept.EOF thenDo while Not rstDept.EOFcboDept.AddItem Trim(rstDept.Fields(0)rstDept.MoveNextLoopcboDept.ListIndes=0ElseMsgBox 没有部门信息,请添加部门! ”,vbOKOnly+vbExclamation,警告”Exit subEnd IfrstDept.closeEnd Sub(2) frmAddTeacher 窗体

28、:private sub cmdOK_Click() 功能:主要用来完成教师信息的添加,将窗体上填写的信息添加到数据库中。 输入:教师信息添加窗体上输入的数据。处理:1) 获取信息输入窗口中填写的数据。2) 执行查询得到结果集,然后调用结果集对象的addNew方法。3) 设置各个字段的值。4) 调用update方法更新结果集,完成教师信息添加。 输出:将数据写入教师信息表 程序清单:与学生信息添加代码类似,请参考本书提供的源代码。(3) frmUpdateTeacher 窗体:private sub cmdUpdate_Click() 功能:主要用来完成教师信息的修改,将窗体上修改后的信息添加

29、到数据库中 输入:教师信息删改窗体上输入的数据。处理:1) 获取信息输入窗口中填写的数据并得到SQL语句。2) 执行SQL语句完成数据修改。 输出:将修改后的数据写入教师信息表。Private sub cmdUpdate_Click()Dim conn As ADODB.ConnectionsqlStr= “UPDATE teacherInfo set birthdate=#”& txtBirth & “#,department=”&cboDept(0).Text & “,telno=”&txtTel.Text&”,title=”&txtTitle.Text&”& “where teacher

30、_no=” & txtNo.Text & “”on Error GoTo exitsubset conn=New ADODB.Connectionconn.Open connStrconn.Execute sqlstrMsgBox “成功修改数据!”Exitsub:Conn.closeinitDepartmentend sub(4) frmUpdateTeacher 窗体:private sub cmdDelete_Click()功能:主要用来完成教师信息的删除。输入:将窗体上显示的教师信息从数据库中删除。处理:1) 获取信息输入窗口中填写的数据并得到SQL语句。2) 执行SQL语句完成数据删

31、除。输出:从教师信息表中删除数据。Private sub cmdDelete_Click()Dim conn As ADODB.ConnectionsqlStr= “DELETE FROM teacherInfo where teacher_no=”&txtNo.Text& on Error GoTo exitsubset conn=New ADODB.Connectionconn.Open connStrconn.Execute sqlStrMsgBox “成功删除数据!”Exitsub:Conn.CloseinitDepartmentEnd sub(5) frmUpdateTeacher

32、窗体:private sub queryTeacher()功能:主要用来完成教师信息的查询。 输入:查询窗体上选择的查询方式和输入的查询信息。处理:1) 获取查询方式和查询关键字,得到SQL语句。2) 执行SQL语句得到结果集。3) 遍历结果集,将数据显示在表格中。输出:满足查询条件的教师信息。程序清单:Dim rs As ADODB.RecordsetDim i As integerDim j As integerIf optQuery(0).value=true ThensqlStr=”select*from teacherInfo where department=”&cbodept.T

33、ext & end ifIf optquery(1).value=true ThensqlStr=”select*from teacherInfo where title=”&cbotitle.Text& “End IfIf optquery(2).value=true ThensqlStr=”select*from teacherInfo”End IfSet rs = ExecuteSql(sqlStr,msgText)If rs.RecordCount=0 ThenMsgBox 没有查找满足条件的数据! ”,vbExclamation,提示”ElsefgTeacher.Rows=rs.Re

34、cordCount + 1fgTeacher.Cols=8设定行高For I = 0 to fgTeacher.Rows - 1Next i设定列的属性 fgTeacher.Row=0for I = 0 to fgTeacher.Cols - 1fgTeacher.Col=I 指定当前列为第I列fgTeacher.FixedAlignment(i)=4 每列内容居中显示select case Icase 0fgTeacher.ColWidth(i)=800 设定列宽 fgTeacher.Text= “编号”case 1fgTeacher.ColWidth(i)=800 设定列宽 fgTeach

35、er.Text= “姓名”case 2fgTeacher.ColWidth(i)=1000 设定列宽 fgTeacher.Text= “出生日期” case 3fgTeacher.ColWidth(i)=500 设定列宽fgTeacher.Text= “性别”case 4fgTeacher.ColWidth(i)=1000 设定列宽case 5fgTeacher.ColWidth(i)=1000 设定列宽 fgTeacher.Text= “电话”case 6fgTeacher.ColWidth(i)=1000 设定列宽fgTeacher.Text= “职称”case 7fgTeacher.Co

36、lWidth(i)=1000 设定列宽 fgTeacher.Text= “所属部门”End SelectNext iI=1While (Not rs.Eof)fgTeacher.Row=ifor j= 0 to fgTeacher.Cols - 1 fgTeacher.Col=j 设置当前列为第j列 fgTeacher.CellAlignment =4 每列内容居中显示Select Case jCase 0fgTeacher.Text= rs.Fields(“teacher_no”)Case 1Case 2fgTeacher.Text=rs.Fields(“birthdate”)Case 3

37、fgTeacher.Text=rs.Fields(“sex”)Case 4 fgTeacher.Text=rs.Fields(“address”)Case 5 fgTeacher.Text=rs.Fields(“telno”)Case 6 fgTeacher.Text=rs.Fields(“title”)Case 7 fgTeacher.Text=rs.Fields(“department”)End SelectNext jRs.MoveNexti=i+1WendEnd IfRs.closeEnd Sub3.3 班级管理模块1. 功能描述该模块提供班级信息的添加、修改、删除和班级列表界面,完成

38、班级信息的添加、修改、删除和列表功厶匕能。2. 窗体和源文件定义该功能模块涉及到的窗体名称和文件名参见表3-5表3-5 窗体列表窗体名称窗体文件名frmAddClassfrmAddClass.frmfrmUpdateClassfrmUpdateClass.frmfrmListClassfrmListClass.frm作用用于班级信息添加用于修改、删除班级信息用于显示所有班级信息的列表3. 变量的声明窗体模块中的声明Public sqlstr As StringPublic msgText As String代码模块中的声明Public dbpath As StringPublic connSt

39、r As String 4函数与方法声明该功能模块涉及到的函数/方法及其功能参见表3-6。表3-6主要函数与方法Sub initClassNo()Sub getClassInfo() frmUpdateClassPrivate sub cmdDelete_click()Private sub cmdUpdate_click()frmListClass Private sub queryClass()3.4 课程管理模块1功级描述提供课程信息的添加、修改、删除和查询界面,完成课程信息的添加2窗体和源文件定义该功能模块涉及到的窗体名称和文件名参见表3-7。表3-7 窗体列表窗体名称窗体文件名frm

40、AddCoursefrmAddCourse.frmfrmUpdateCoursefrmUpdateCourse.frmfrmQueryCoursefrmQueryCourse.frm在组合列表框中列出所有班级编号获取班级信息删除班级信息修改班级信息查询班级信息修改、删除和查询功能。作用用于课程信息添加用于修改、删除课程信息用于查询课程信息3.变量声明窗体模块中的声明Public sqlstr As StringPublic msgText As String代码模块中的声明Public dbpath As StringPublic connStr As String4. 函数与方法声明该功能模

41、块涉及到的函数/方法及其功能参见表3-8.表3-8 主要函数与方法窗体名称 函数/方法作用Private sub cmdOK_Click()将所有教师姓名添加到组合列表框中将课程信息添加到数据库Sub initTeacher() frmAddCourseSub initTeacher()将所有教师姓名添加到组合列表框中frmUpdateCourseSub getCourseInfo()Private sub cmdUpdate_Click()从数据库中获取课程信息修改课程信息删除数据库中的课程信息Private sub cmdDelete_Click()frmQueryCoursePrivat

42、e sub querycourse()根据选择的查询方式和输入的查询条件查找满足条件的数据并在表格中显示3.5 成绩管理模块1功能描述该模块提供成绩信息的录入、修改、删除和查询界面,完成成绩信息的录入、修改、删除和查询功能。2窗体和源文件定义该功能模块涉及到的窗体名称和文件名参见表3-9。表3-9 窗体列表窗体名称窗体文件名作用frmAddScorefrmAddScore.frm用于成绩信息添加frmUpdateScorefrmUpdateScore.frm用于修改、删除成绩信息frmQueryScorefrmQueryscore.frm用于查询成绩信息3.变量声明窗体模块中的声明Public

43、 sqlstr AsStringPublic msgText AsString代码模块中的声明Public dbpath AsStringPublic connStr AsString4函数与方法声明该功能模块涉及到的函数/方法及其功能参见表3-10。表3-10 主要函数与方法窗体名称函数/方法名作用Sub initCourseNo()在下拉列表框中显示所有课程号frmAddScorePrivate sub txtStuNo_KeyPress(KeyAscii As文本框响应回车键,如果输入学号Integer)后回车,就会查找并显示学生姓名在组合列表框中选择课程编号,触Private sub

44、cboCourseNo_Click()发click事件,查找显示课程名称Private sub cmdOK_Click()向数据库中添加成绩信息Sub initCourseNo()在下拉列表框中显示所有课程号Sub getScoreInfo()frmUpdateScorePrivate sub cmdUpdate_click()Private sub cmdDelete_Click()从数据库中查找成绩信息修改成绩信息删除成绩信息查询成绩frmQueryScore Private sub cmdOK_Click()(l) frmAddScore 窗体:private sub txtStuNo_

45、KeyPress(KeyAscii As Integer)功能:相应键盘事件,如果是回车键,则按学号查询学生姓名。输入:按键的ASCII码。处理:1) 判断按键是否为回车键。2) 如果为回车键,刚转3,否则退出3) 查询学生姓名并显示出来。输出:学生姓名。程序清单:Private sub txtStuNo_keypress(keyAscii As Integer)Dim rstStudent As ADODB.RecordsetIf KeyAscii=13 ThensqlStr= “select name from studentInfo”set rststudent=ExecuteSQL(s

46、qlStr,msgText)If Not rstStudent.EOF ThentxtName=rstStudent.Fields(0)ElseMsgBox “未找到学生的信息记录! ”,vbOKOnly+vbExclamation,警告”Exit subEnd IfrstStudent.CloseEnd IfEnd sub(2) frmAddScore 窗体:private sub cmdOK_Click()功能:将窗体中的成绩信息添加到数据库中。 输入:成绩添加窗体中填写的数据。处理:1) 获取信息输入窗口中填写的数据。2) 执行查询得到结果集,然后调用结果集对象的addNew方法。3)

47、设置各个字段的值。4) 调用update方法更新结果集,完成成绩信息添加。输出:将成绩信息写入数据库。程序清单:Private sub cmdok_click()Dim rstScore As ADODB.RecordsetDim stuNo As StringDim courseNo As StringDim score As String获取数据stuNo=Trim(txtstuNo.Text)courseNo=Trim(cboCourseNo.Text)score=Trim(txtScore.Text)If stuNo= “”or score= “”ThenMsgBox “请将信息补充完

48、整 ”,vbOKOnly+vbExclamation,警告”Exit subEnd If添加新记录sqlStr=”select*from scoreInfo”set rstScore=ExecuteSQL(sqlStr,msgText)rstScore.AddNewrstScore.Fields(“stu_no”)=stuNorstScore.Fields(“course_no”)=courseNorstScore.Fields(“course_score”)=scorerstScore.UpdaterstScore.CloseMsgBox 成绩信息添加完成!”,vboOKOnly+vbExc

49、lamation,警告”initFormEnd sub(3) frmUpdateScore 窗体:sub getScoreInfo()功能:根据课程编号和学号,从数据库中读取成绩信息、课程名和学生名。输入:课程编号和学号。处理:1) 获取课程名称和学号,得到多表查询的SQL语句。2) 执行查询得到结果集。3) 从结果集中读取各个字段的值并显示出来。输出:学生姓名、课程名称、考试成绩。程序清单:Sub getScoreInfo()Dim rstScore As ADODB.Recordset从数据库中读取成绩相关信息并添加到窗体中的输入框sqlStr= “select name,course_n

50、ame,coure_score fromcourseInfo,studentInfo,scoreInfo”&“wherescoreInfo.course_no=”&cbocourseNo.text&“”& “ANDscoreInfo.course_no=courseInfo.course_no”&“ANDscoreInfo.stu_no=studentInfo.stu_no”& “AND scoreInfo.stu_no=”& txtStuNo.Text & “”txtName=Trim(rstScore.Fields(“name”)txtCourseName.Text=trim (rstSc

51、ore.Fields (“dourse_name”) )txtScore.Text=Trim(rstScore.Fields(“course_score”)ElseMsgBox 没找到符合条件的数据!”,vbOKOnly+vbExclamation,警告”Exit subEnd IfrstScore.CloseEnd sub(4) frmQueryScore 窗体:private sub cmdOk_Click() 功能:根据查询条件查找成绩信息。输入:查询方式和关键字。处理:1) 获取查询方式和输入的关键字。2) 形成SQL语句,执行SQL语句得到结果集。3) 从结果集中读取全部数据,并在表

52、格中显示出来。 输出:符合查询条件的课程成绩信息。程序清单:Dim sqlstr1 As StringDim sqlcond1 As StringDim sqlcond2 As StringDim sqlcond3 As StringDim sign As BooleanSqlcond1= “”Sqlcond2= “”Sqlcond3= “”Sign=FalseSqlstr=”selectstudentInfo.stu_noasstuNo.studentInfo.name as stuName,&“courseInfo.course_nameascourseName,scoreInfo.cou

53、rse_score as score”&_“from studentInfo,courseInfo,scoreInfo WHERE”检查是否已选择了查询条件If chkOp(0).value1 And chkOp91).value1 And chkOp(2).value1 ThenMsgBox “请选择查询条件!”Exit subEnd if获得子查询条件If chkOp(0).value=1 ThenSqlcond1= “studentInfo.stu_no=”&Trim(txtstuNo.Text)& “”End IfIf chkOp(1).value=1 ThenSqlcond2= “s

54、coreInfo.course_no=”&Trim(txtCourseNo.Text)& “”End IfIf chkOp(2).value=1 ThenIf cboOperator.Text “between” ThenSqlcond3= “scoreInfo.course_score”&cboOperator.Text&Trim(txtscore1.Text)ElseSqlcond3= “scoreInfo.course_score”&cboOperator.Text& “”&Trim(txtScore1.Text)&“AND”&Trim(txtScore2.Text)End IfEnd

55、IfIf sqlcond1 “”ThenSqlstr=sqlstr&sqlcond1Sign=trueEnd IfIf sqlcond2 “”ThenIf Sign=True ThenSqlstr=sqlstr & “ AND” & sqlcond2ElseSqlstr=sqlstr & sqlcond2End IfEnd IfIf sqlcond3 “”ThenIf sign=True ThenSqlstr=sqlstr & “ AND”& sqlcond3ElseSqlstr=sqlstr & sqlcond3End IfEnd IfsqlStr = sqlstr & “AND stude

56、ntInfo.stu_no=scoreInfo.stu_no”_& “ AND courseInfo.course_no=scoreInfo.course_no”Set rs = ExecuteSQL(sqlStr,msgText)参考文献文献、资料名称编著者出版单位VB6.0程序设计Visual Basic6.0数据库程序设计 Vis ual Basic程序设计教程Visual Basic编程实例与技巧:数据 库编程.清汉计算机工作室.Visual Basic数 据库开发实例Visual Basic 6数据库处理杨晶王国荣 刘炳文 白鹏许智 王道荣,林信成北京:机械工业出版社,2004 北京:人民邮电出版社,1999 北京:清华大学出版社,2000 北京:电子工业出版社,2003北京:机械工业出版社,2001北京:中国铁道出版社,2001

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!