VB学生学籍管理系统.doc_第1页
VB学生学籍管理系统.doc_第2页
VB学生学籍管理系统.doc_第3页
VB学生学籍管理系统.doc_第4页
VB学生学籍管理系统.doc_第5页
免费预览已结束,剩余63页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕毕 业业 论论 文文 设设 计计 题题 目目 学生学籍管理系统学生学籍管理系统 英文题目英文题目S Student student s studentstudent statusstatus managesmanages systemsystem 院院 系系 信息科学与技术学院信息科学与技术学院 专专 业业 计算机网络技术计算机网络技术 姓姓 名名 高望春高望春 年年 级级 指导教师指导教师 3 目目 录录 摘摘 要要 3 ABSTRACT 4 第一章第一章 系统需求分析系统需求分析 5 第二章第二章 可行性分析可行性分析 6 第三章第三章 系统设计系统设计 7 3 1 系统功能分析 7 3 2 系统流程图 8 第四章 数据库设计第四章 数据库设计 9 4 1 数据库需求分析 9 4 2 数据库概念结构设计 10 4 3 数据库结构的实现 13 第五章 详细设计第五章 详细设计 16 5 1 主窗体的创建 16 5 2 用户管理模块的创建 21 5 3 学籍管理模块的创建 28 5 4 班级管理模块的创建 46 5 5 课程设置模块的创建 50 5 6 成绩管理模块的创建 58 第七章第七章 总总 结结 63 参考文献参考文献 64 致致 谢谢 65 4 摘摘 要要 随着信息技术在管理上越来越深入而广泛的应用 管理信息系统的 实施在技术上已逐步成熟 管理信息系统是一个不断发展的新型学科 任何一个单位要生存要发展 要高效率地把内部活动有机地组织起来 就必须建立与自身特点相适应的管理信息系统 本文介绍了在 Visual Basic6 0 环境下采用 自上而下地总体规划 自下而上地应用开发 的策略开发一个管理信息系统的过程 通过分 析访客管理的不足 创建了一套行之有效的计算机管理学生的方案 文章介绍了访客管理信息系统的系统分析部分 包括可行性分析 业 务流程分析等 系统设计部分主要介绍了系统功能设计和数据库设计 及代码设计 系统实现部分说明了几个主要模块的算法 本系统面友 好 操作简单 比较实用 关键词 关键词 SQLSQL 20002000 server VBserver VB 程序设计程序设计 软件工程软件工程 5 Abstract Along with information technique more and more thorough but extensive on the management of application manage information system of the implement has been gradually mature on the technique Manage the information system is a new academics which continuously develops the whichever unit wants to exist to want adevelopment high efficiencily internal activity organically the organization get up have to build up adapting with oneself characteristics mutually of management information system This text introduced in the Visual Basic6 0 under the environments the strategy of adoption from top to bottom total programming from bottom but last pplication development develop a process which manage information system Pass the shortage of analytical visitor management established a valid a set of line a calculator a management the student s project The article introduced visitor a management information system of system analysis part System realization part explained a few calculate ways of main mold piece this system interface amity operation simple more practical Keyword Keyword TheThe SQLSQL 20002000 serversservers VBVB programprogram designdesign softwaresoftware 6 engineeringengineering 第一章第一章 系统需求分析系统需求分析 伴随社会的高速发展 全国各高校的学生数量一直在增加 在这样的形式下 必须要求学校有一种高效有序的方法来管理学生的信息 通过调查 要求系统需要有以下功能 由于操作人员的计算机知识普遍较差 要求有良好的人机界面 由于该系统的使用对象多 要求有较好的权限管理 原始数据修改简单方便 支持多条件修 方便的数据查询 支持多条件查询 在相应的权限下 删除数据方便简单 数据稳定性好 数据计算自动完成 尽量减少人工干预 7 第二章第二章 可行性分析可行性分析 由于本系统管理的对象单一 都是学生 且每个数据内容具有较强的关联性 涉及的计算过程不是很复杂 因此 比较适合于采用数据库管理 在技术难度 方面 由于有指导老师的指导和相关参考文献 特别是网上资料 特别是参考 其它程序的功能 因此完全可以实现 本系统的设计是在 Windows XPXP操作系统环境下 使用 Visual Basic 6 0 中文版开发成功的 数据库是 MIS 中的重要支持技术 在 MIS 开发过程中 如 何选择数据库管理是一个重要的问题 本系统选用的数据库语言介绍如下 Visual Basic 具有以下特点 1 可视化编程 用传统程序设计语言设计程序时 都是通过编写程序代码来设计用户界面 在设计过程中看不到界面的实际显示效果 必须编译后运行程序才能观察 如 果对界面的效果不满意 还要回到程序中修改有时候 这种编程 编译 修改的 操作可能要反复多次 大大影响了软件开发效率 Visual Basic 提供了可视化 设计工具 把 Windows 界面设计的复杂性 封装 起来 开发人员不必为界面 设计而编写大量程序代码 只需要按设计要求的屏幕布局 用系统提供的工具 在屏幕上画出各种 部件 即图形对象 并设置这些图形对象的属性 Visual Basic 自动产生界面设计代码 程序设计人员只需要编写实现程序功能的那部 分代码 从而可以大大提高程序设计的效率 2 面向对象的程序设计 4 0 版以后的 Visual Basic 支持面向对象的程序设计 是应用面向对象的 8 程序设计方法 OOP 把程序和数据封装起来作为一个对象 并为每个对象赋予 应有的属性 使对象成为实在的东西 在设计对象时 不必编写建立和描述每 个对象的程序代码 而是用工具画在界面上 Visual Basic 自动生成对象的程 序代码并封装起来 每个对象以图形方式显示在界面上 都是可视的 第三章第三章 系统设计系统设计 3 1 3 1 系统功能分析系统功能分析 系统开发的总体任务是实现学生信息关系的系统化 规范化和自动化 学生管理系统需要完成的功能主要有 学生信息的输入 包括输入学生基本信息 所在班级 所学课和 成 绩等 学生信息的查询 包括输入学生基本信息 所在班级 已学课程和成绩 等 学生信息的修改 班级管理信息的输入 查询 修改 包括输入班级设置 年级信息等 基本课程信息的输入 查询 修改 学生成绩信息的输入 查询 修改 对上述各功能进行集中 分块 按照结构化程序设计的要求 9 学生信息管理系统 学籍管理功能班级管理功能课程管理功能成绩管理功能 学籍添加 学籍修改 学籍查询 班级添加 课程添加 课程修改 课程查询 成绩添加 成绩修改 成绩查询 班级修改 班级查询 图3 1 系统功能模块图 10 3 2 3 2 系统流程图系统流程图 登录 成功 选择操作 开始 用户管理 学籍管理 班级管理 课程设置 成绩管理 退出系统 添加 修改 查询 结束 N Y 图3 2 系统流程图 11 第四章 数据库设计第四章 数据库设计 4 1 4 1 数据库需求分析数据库需求分析 用户信息 包括的数据项有 用户名 密码 用户描述 学生基本信息 包括的数据项有 学生学号 学生姓名 性别 出生日期 班号 联系 电话 入校日期 家庭地址 备注等 班级信息 包括的数据项有 班号 所在年级 班主任姓名 所在教室等 课程基本信息 包括的数据项有 课程号 课程名称 课程类别 课程描述等 课程设置信息 包括的数据项有 年级信息 所学课程等 学生成绩信息 包括的数据项有 考试编号 所在班号 学生学号 学生 姓名 所学课程 考试分数等 学生管理系统 用户信息 学生基本信息 班级信息 课程基本信息 年级课程 成绩信息 数据库 图4 1 学生管理系统数据流程图 12 4 2 4 2 数据库概念结构设计数据库概念结构设计 本系统的实体有 学生实体 班级实体 年级实体 课程实体 各个实体具体的描述E R 图如图下所示 学生 基本信息 班级 成绩 课程 图4 2 学生实体E R图 班级 所在年级 班主任 所在教室 班号 图4 3 班级实体E R图 课程 名称 编号 描述 类型 图4 4 课程实体E R图 13 年级 包括班级 设置课程 课程 图4 5 年级实体E R图 学生 班级 年级 课程 1 n n n n m m n n 1 1 1 图4 6 实体之间关系E R图 现在需要将上面的数据库概念结构转化为SQL Server 2000 数据库系统所支持的实际数据 模型 也就是数据库的逻辑结构 学生管理系统数据库中各个表格的设计结果如下面的几个表所示 每个表表示在数据库中的一 个数据表 表4 1 student info学生基本信息表 14 表4 2 class info班级基本信息表 表4 3 course info 课程基本信息表 表4 4 gradecourse info年级课程设置表格 15 表4 5 result info学生成绩基本信息表 表4 6 user info 系统用户表 4 3 4 3 数据库结构的实现数据库结构的实现 经过前面的需求分析和概念结构设计以后 得到数据库的逻辑结构 就可以在SQL Servr 2000数据库系统中实现该逻辑结构 利用SQL Server 2000数据库系统中SQL查询分析器实现的 1 创建系统用户表格user info CREATE TABLE dbo user Info user ID char 10 COLLATE Chinese PRC CI AS NOT NULL user PWD char 10 COLLATE Chinese PRC CI AS NULL user Des char 10 COLLATE Chinese PRC CI AS NULL ON PRIMARY GO 2 创建学生基本信息表格student info CREATE TABLE dbo student Info student ID int NOT NULL student Name char 10 COLLATE Chinese PRC CI AS NULL student Sex char 2 COLLATE Chinese PRC CI AS NULL born Date datetime NULL 16 class NO int NULL tele Number char 10 COLLATE Chinese PRC CI AS NULL ru Date datetime NULL address varchar 50 COLLATE Chinese PRC CI AS NULL comment varchar 200 COLLATE Chinese PRC CI AS NULL ON PRIMARY GO 3 创建班级信息表格class info CREATE TABLE dbo class Info class No int NOT NULL grade char 10 COLLATE Chinese PRC CI AS NULL director char 10 COLLATE Chinese PRC CI AS NULL classroom No char 10 COLLATE Chinese PRC CI AS NULL ON PRIMARY GO 4 创建课程基本信息表格course info CREATE TABLE dbo course Info course No int NOT NULL course Name char 10 COLLATE Chinese PRC CI AS NULL course Type char 10 COLLATE Chinese PRC CI AS NULL course Des char 50 COLLATE Chinese PRC CI AS NULL ON PRIMARY GO 5 创建年级课程设置信息表gradecourse info CREATE TABLE dbo gradecourse Info grade char 10 COLLATE Chinese PRC CI AS NULL course Name char 10 COLLATE Chinese PRC CI AS NULL ON PRIMARY GO 6 创建学生成绩信息表result info CREATE TABLE dbo result Info 17 exam No char 10 COLLATE Chinese PRC CI AS NOT NULL student ID int NOT NULL student Name char 10 COLLATE Chinese PRC CI AS NULL class No int NULL course Name char 10 COLLATE Chinese PRC CI AS NULL result float NULL ON PRIMARY GO 18 第五章 详细设计第五章 详细设计 5 15 1 主窗体的创建主窗体的创建 上面的SQL语句在SQL Server 2000中查询分析器执行后 将自动产生需要的所有表 有关数 据库结构的所有后台工作已经完成 现在将通过学生管理系统中各个功能模块的实现 来编写 数据库系统的客户端程序 1 创建工程项目创建工程项目 Student MIS 为了用Visual Basic创建应用程序 应当使用工程 一个工程是用来建造应用程序的文件的 集合 它包括 跟踪所有部件的工程文件 vbp 每个窗体的文件 frm 每个窗体的二进制数据文件 frx 它含有窗体上控件的属性数据 对含有二进制属性 的任何 frm文件都是不可编辑的 这些文件都是自动产生的 每个类模块的一个文件 cls 该文件是可选项 每个标准模块的一个文件 bas 该文件是可选项 一个或多个包含ActiveX控件的文件 ocx 该文件是可选项 单个资源文件 res 该文件是可选项 启动Visual Basic后 单击File New Project菜单 如图所示的工程模块中选择Standard EXE Visual Basic将自动产生一个Form窗体 属性都是缺省设置 这里我们删除这个窗体 单击File New Project菜单 将这个工程项目命名为Student MIS 如图5 1 创建Student MIS项目 2 创建主窗体创建主窗体 19 Visual Basic创建的应用程序可以是SDI 单文档界面 和MDI 多文档界面 在SDI的 程序中 每个窗体之间是独立的 而MDI的程序中 有一个窗体是主窗体 可以包含其她窗体 它的类型是MDI Form 本系统采用多文档界面 这样可以使程序更加美观 整齐有序 单击工具栏的 ADD MDI Form 按钮 生成一个如下所示的窗体 图5 2 程序主窗体 创建主窗体的菜单 图5 3主窗体中菜单结构 3 创建公用模块创建公用模块 20 在Visual Basic中可以用共用模块来存放整个工程项目公用的函数 全局变量等 整个工 程项目中的任何地方都可以调用公用模块中的函数 变量 这样可以极大地提高代码的效率 在项目资源管理器中为项目添加一个Module 保存为Module bas 下面就可以开始添加需要的 代码 由于系统中各个功能模块都将频繁使用数据库中的各种数据 因此需要一个公共的数据 操作函数 用以执行各种SQL语句 添加函数ExecuteSQL 代码如下 Public Function ExecuteSQL ByVal SQL As String MsgString As String As ADODB Recordset 传递参数SQL查询语句 MsgString传递查询信息 自身以一个数据集对象的形式返回 Dim CNn As ADODB Connection 定义连接 Dim rst As ADODB Recordset 定义字符串 Dim sTokens As String 异常处理 On Error GoTo ExecuteSQL Error 用Split函数产生一个包含各个子串的数组 sTokens Split SQL 创建连接 Set CNn New ADODB Connection CNn Open ConnectString 判断字符串中是否有指定内容 If InStr INSERT DELETE UPDATE UCase sTokens 0 Then 执行查询语句 CNn Execute SQL 返回查询信息 MsgString sTokens 0 UID sa PWD 22 End Function 由于在后面的程序中 需要频繁检查各种文本框的内容是否为空 这里定义了Testtxt函数 代 码如下 Public Function Testtxt txt As String As Boolean If Trim txt Then Testtxt False Else Testtxt True End If End Function 由于学生管理系统启动后 需要对用户进行判断 如果登录者是授权用户 将进入系统 否则将停止程序的执行 这个判断需要在系统运行的最初进行 因此将代码放在公用模块中 代码如下 Public fMainForm As frmMain Public UserName As String Sub Main Dim fLogin As New frmLogin 显示登陆窗体 fLogin Show vbModal 判断是否授权用户 If Not fLogin OK Then Login Failed so exit app End End If Unload fLogin Set fMainForm New frmMain fMainForm Show End Sub 过程Main将在系统启动是首先执行 这就保证对用户的管理 23 5 2 5 2 用户管理模块的创建用户管理模块的创建 系统管理模块主要实现 用户登录 添加用户 修改用户密码 1 用户登陆窗体的创建用户登陆窗体的创建 系统启动后 将首先出现如下所示的用户登陆窗体 用户首先输入用户名 然后输入密码 如 果用户3次输入密码不正确 将退出程序 图5 4用户登录窗体 用户登陆窗体中放置了两个文本框 TextBox 用来输入用户名和用户密码 两个按钮 CommandButton 用来确定或者取消登陆 2个标签 Label 用来标示窗体的信息 为窗体 定义全局变量OK 用来判断登陆是否成功 定义 miCount 用来记载输入密码的次数 并且 在载入窗体时初始化这两个全局变量 代码如下 强制变量声明 Option Explicit 24 Public OK As Boolean 记录确定次数 Dim miCount As Integer Private Sub Form Load Dim sBuffer As String Dim lSize As Long sBuffer Space 255 lSize Len sBuffer Call GetUserName sBuffer lSize If lSize 0 Then txtUserName Text Else txtUserName Text vbNullString End If OK False miCount 0 End Sub Option Explicit是用来规定所有变量使用前必须定义 这样可以避免由于输入错误而产生的新 变量 当用户输入完用户名和用户密码 单击cmdOK按钮将对用户输入信息进行判断 用户 单击该按钮 将触发按钮cmdOK的Click事件 代码如下 Private Sub cmdOK Click 用来存放SQL语句 Dim txtSQL As String 用来存放记录集对象 Dim mrc As ADODB Recordset 用来存放返回信息 Dim MsgText As String UserName 判断输入用户名是否为空 If Trim txtUserName Text Then MsgBox 没有这个用户 请重新输入用户名 vbOKOnly vbExclamation 警告 txtUserName SetFocus 25 Else txtSQL select from user Info where user ID txtUserName Text Set mrc ExecuteSQL txtSQL MsgText If mrc EOF True Then MsgBox 没有这个用户 请重新输入用户名 vbOKOnly vbExclamation 警告 txtUserName SetFocus Else 判断输入密码是否正确 If Trim mrc Fields 1 Trim txtPassword Text Then OK True mrc Close Me Hide UserName Trim txtUserName Text Else MsgBox 输入密码不正确 请重新输入 vbOKOnly vbExclamation 警告 txtPassword SetFocus txtPassword Text End If End If End If 记载输入密码次数 miCount miCount 1 If miCount 3 Then Me Hide End If Exit Sub End Sub 用户如果没有输入用户名和用户密码 将出现消息框给予提示 如果输入的用户名在用户表格 中没有找到 将提示重新输入用户名 文本框txtUserName将重新获得输入焦点 如果用户输 入的密码不正确 文本框txtPassword将重新获得输入焦点 用户登陆成功 全局变量OK将被 赋值为True 一旦三次输入密码均不正确 全局变量OK将被赋值为False 公用模块中的Main 过程将根据OK的值决定是退出 或者进入系统 如果用户取消登陆 单击 取消 按钮 将 26 触发按钮的Click事件 代码如下 Private Sub cmdCancel Click OK False Me Hide End Sub 2 添加用户窗体的创建添加用户窗体的创建 进入系统后 选择菜单 系统添加用户 就可以添加用户 出现如下所示的窗体 图5 5 添加用户窗体 用户需要两次输入密码 用来确保输入密码的正确 用户输入信息完毕 单击 确定 按钮将 触发Click事件 代码如下 Private Sub cmdOK Click Dim txtSQL As String Dim mrc As ADODB Recordset Dim MsgText As String 判断是否为空 If Trim Text1 0 Text Then MsgBox 请输入用户名称 vbOKOnly vbExclamation 警告 Exit Sub Text1 0 SetFocus 27 Else txtSQL select from user Info Set mrc ExecuteSQL txtSQL MsgText 判断数据集是否为空 While mrc EOF False 判断是否有重复记录 If Trim mrc Fields 0 Trim Text1 0 Then MsgBox 用户已经存在 请重新输入用户名 vbOKOnly vbExclamation 警告 Text1 0 SetFocus Text1 0 Text Text1 1 Text Text1 2 Text Exit Sub Else mrc MoveNext End If Wend End If 判断两次输入密码是否一致 If Trim Text1 1 Text Trim Text1 2 Text Then MsgBox 两次输入密码不一样 请确认 vbOKOnly vbExclamation 警告 Text1 1 SetFocus Text1 1 Text Text1 2 Text Exit Sub Else 判断输入密码是否为空 If Text1 1 Text Then MsgBox 密码不能为空 vbOKOnly vbExclamation 警告 Text1 1 SetFocus Text1 1 Text 28 Text1 2 Text Else mrc AddNew mrc Fields 0 Trim Text1 0 Text mrc Fields 1 Trim Text1 1 Text mrc Update mrc Close Me Hide MsgBox 添加用户成功 vbOKOnly vbExclamation 添加用户 End If End If End Sub 一旦输入完毕 系统将首先查询数据库中与新建用户名相同的记录 如果有相同记录将提 示用户重新输入用户名 当确定数据库中没有相同的用户名 并且两次输入密码一致时 将把 该条记录加到数据库中 单击 取消 按钮将取消添加用户操作 代码如下 Private Sub cmdCancel Click Unload Me End Sub 3 修改用户密码窗体的创建修改用户密码窗体的创建 用户可以修改自己的密码 选择菜单 系统修改密码 出现如下所示的窗体 29 图5 6 修改密码窗体 在这两个窗体中放置了两个文本框 用来输入密码和确认密码 两了按钮用来确定是否修 改密码 两个标签用来标示文本框的内容 两次输入密码后 单击 确认 按钮 将触发Click事件判断是否修改密码 代码如下 Private Sub cmdOK Click Dim txtSQL MsgText As String Dim mrc As ADODB Recordset 判断是否为空 If Trim Text1 1 Text Trim Text1 2 Text Then MsgBox 密码输入不正确 vbOKOnly vbExclamation 警告 Text1 1 SetFocus Text1 1 Text Else txtSQL select from user Info where user ID UserName Set mrc ExecuteSQL txtSQL MsgText mrc Fields 1 Text1 1 Text mrc Update mrc Close MsgBox 密码修改成功 vbOKOnly vbExclamation 修改密码 30 Me Hide End If End Sub 当两次输入密码一致时 数据库中的记录将更新 5 35 3 学籍管理模块的创建学籍管理模块的创建 学籍信息管理模块主要实现如下功能 添加学籍信息 修改学籍信息 查询学籍信息 1 添加学籍信息窗体的创建添加学籍信息窗体的创建 选择 学籍管理 添加学籍信息 菜单 将出现如下的窗体 31 图5 7 添加学籍信息窗体 在窗体上放置多个文本框和下拉式文本框 用来输入学籍信息 两个按钮用来确定是否 添加学籍信息 多个标签用来提示文本框中需要输入的内容 在载入窗体时 程序将自动在两个下拉式文本框中添加内容 这样可以规范化输入内容 代码如下 Private Sub Form Load Dim mrc As ADODB Recordset Dim txtSQL As String Dim MsgText As String Dim i As Integer 添加列表框内容 comboSex AddItem 男 comboSex AddItem 女 txtSQL select from class Info Set mrc ExecuteSQL txtSQL MsgText 添加内容到列表框中 For i 1 To mrc RecordCount 32 comboClassNo AddItem mrc Fields 0 mrc MoveNext Next i mrc Close End Sub 在班号选择的下拉式文本框中 将出现所有班级 用户不用输入内容 用户输入内容完毕后 单击按钮cmdOK将触发Click事件 代码如下 Private Sub cmdOK Click 定义数据集对象 Dim mrc As ADODB Recordset 定义字符串变量 表示查询语句 Dim txtSQL As String 定义字符串变量 返回查询信息 Dim MsgText As String 判断是否输入学号 If Not Testtxt txtSID Text Then MsgBox 请输入学号 vbOKOnly vbExclamation 警告 txtSID SetFocus Exit Sub End If 判断是否输入姓名 If Not Testtxt txtName Text Then MsgBox 请输入姓名 vbOKOnly vbExclamation 警告 txtName SetFocus Exit Sub End If 判断是否选择性别 If Not Testtxt comboSex Text Then MsgBox 请选择性别 vbOKOnly vbExclamation 警告 comboSex SetFocus Exit Sub 33 End If 判断是否输入出生日期 If Not Testtxt txtBorndate Text Then MsgBox 请输入出生日期 vbOKOnly vbExclamation 警告 txtBorndate SetFocus Exit Sub End If 判断是否输入班号 If Not Testtxt comboClassNo Text Then MsgBox 请选择班号 vbOKOnly vbExclamation 警告 comboClassNo SetFocus Exit Sub End If 判断是否输入联系电话 If Not Testtxt txtTel Text Then MsgBox 请输入联系电话 vbOKOnly vbExclamation 警告 txtTel SetFocus Exit Sub End If 判断是否输入入校日期 If Not Testtxt txtRudate Text Then MsgBox 请输入入校日期 vbOKOnly vbExclamation 警告 txtRudate SetFocus Exit Sub End If 判断是否输入家庭地址 If Not Testtxt txtAddress Text Then MsgBox 请输入家庭住址 vbOKOnly vbExclamation 警告 txtAddress SetFocus Exit Sub End If 34 判断输入学号是否为数字 If Not IsNumeric Trim txtSID Text Then MsgBox 请输入数字 vbOKOnly vbExclamation 警告 Exit Sub txtSID SetFocus End If 判断是否有重复记录 txtSQL select from student Info where student ID Trim txtSID Text Set mrc ExecuteSQL txtSQL MsgText If mrc EOF False Then MsgBox 学号重复 请重新输入 vbOKOnly vbExclamation 警告 mrc Close txtSID SetFocus Else mrc Close If Not IsDate txtBorndate Text Then MsgBox 出生时间应输入日期格式 yyyy mm dd vbOKOnly vbExclamation 警告 txtBorndate SetFocus Else txtBorndate Format txtBorndate yyyy mm dd If Not IsDate txtRudate Text Then MsgBox 入校时间应输入日期格式 yyyy mm dd vbOKOnly vbExclamation 警告 txtRudate SetFocus Else txtRudate Format txtRudate yyyy mm dd txtSQL select from student Info Set mrc ExecuteSQL txtSQL MsgText 添加记录 mrc AddNew 给每个字段赋值 mrc Fields 0 Trim txtSID Text 35 mrc Fields 1 Trim txtName Text mrc Fields 2 Trim comboSex Text mrc Fields 3 Trim txtBorndate Text mrc Fields 4 Trim comboClassNo Text mrc Fields 5 Trim txtTel Text mrc Fields 6 Trim txtRudate Text mrc Fields 7 Trim txtAddress Text mrc Fields 8 Trim txtComment Text mrc Update MsgBox 添加学籍信息成功 vbOKOnly vbExclamation 警告 mrc Close Me Hide End If End If End If 程序首先对是否输入内容进行判断 然后进行格式判断 使用了下面两个函数 IsDate txtBorndate Text IsDate txtRudate Text 判断是否有重复记录是很重要的 否则数 据库中将发生错误 单击按钮cmdCancel取消添加学籍信息 代码如下 Private Sub Command2 Click 卸载窗体 Unload Me End Sub 2 修改学籍信息窗体的创建修改学籍信息窗体的创建 选择 学籍管理 修改学籍信息 菜单 将出现如下所示的窗体 36 图5 8 修改学籍信息窗体 第一排按钮用来方便地浏览数据库中各条记录 第二排按钮用来修改记录 由于记录集 为整个窗体公用 需要将记录集对象定义为全局变量 代码如下 定义数据集对象 Dim mrc As ADODB Recordset 定义书签 用来记载当前记录位置 Dim myBookmark As Variant 判断是否修改记录 Dim mcclean As Boolean 程序在窗体载入时自动加入各条记录 代码如下 Private Sub Form Load Dim txtSQL As String Dim MsgText As String txtSQL select from student Info 执行查询操作 37 Set mrc ExecuteSQL txtSQL MsgText mrc MoveFirst Call viewData mcbookmark mrc Bookmark mcclean True End Sub 由于程序中各处需要显示数据 定义函数viewdata 代码如下 Public Sub viewData txtSID Text mrc Fields 0 txtName Text mrc Fields 1 comboSex Text mrc Fields 2 txtBorndate Text Format mrc Fields 3 yyyy mm dd comboClassNo Text mrc Fields 4 txtTel Text mrc Fields 5 txtRudate Text Format mrc Fields 6 yyyy mm dd txtAddress Text mrc Fields 7 txtComment Text mrc Fields 8 End Sub 单击 第一条记录 按钮 将显示第一条记录 代码如下 Private Sub firstCommand Click 移到数据集的第一条记录 mrc MoveFirst 调用显示数据的函数 Call viewData End Sub 单击 最后一条记录 按钮 将显示最后一条记录 代码如下 Private Sub lastCommand Click mrc MoveLast Call viewData End Sub 单击 上一条记录 按钮 将显示上一条记录 代码如下 38 Private Sub previousCommand Click mrc MovePrevious 判断是否是起始位置 If mrc BOF Then mrc MoveLast End If Call viewData End Sub 单击 下一条记录 按钮 将显示下一条记录 代码如下 Private Sub nextCommand Click mrc MoveNext 判断是否到末尾位置 If mrc EOF Then mrc MoveFirst End If Call viewData End Sub 单击 修改记录 按钮 将进入到修改状态 各个文本框将有效 这是移动记录的按钮将失效 可以避免错误操作 代码如下 Private Sub editCommand Click mcclean False Frame2 Enabled False 使移动记录按钮失效 firstCommand Enabled False previousCommand Enabled False nextCommand Enabled False lastCommand Enabled False 使各个文本框有效 txtSID Enabled True txtName Enabled True comboSex Enabled True txtBorndate Enabled True 39 comboClassNo Enabled True txtRudate Enabled True txtTel Enabled True txtAddress Enabled True txtComment Enabled True 记下当前记录位置 myBookmark mrc Bookmark End Sub 修改完毕后 单击 更新记录 按钮 将触发Click事件 代码如下 Private Sub updateCommand Click Dim txtSQL As String Dim MsgText As String Dim mrcc As ADODB Recordset If mcclean Then MsgBox 请先修改学籍信息 vbOKOnly vbExclamation 警告 Exit Sub End If If Not Testtxt txtSID Text Then MsgBox 请输入学号 vbOKOnly vbExclamation 警告 txtSID SetFocus Exit Sub End If If Not Testtxt txtName Text Then MsgBox 请输入姓名 vbOKOnly vbExclamation 警告 txtName SetFocus Exit Sub End If 40 If Not Testtxt comboSex Text Then MsgBox 请选择性别 vbOKOnly vbExclamation 警告 comboSex SetFocus Exit Sub End If If Not Testtxt txtBorndate Text Then MsgBox 请输入出生日期 vbOKOnly vbExclamation 警告 txtBorndate SetFocus Exit Sub End If If Not Testtxt comboClassNo Text Then MsgBox 请选择班号 vbOKOnly vbExclamation 警告 comboClassNo SetFocus Exit Sub End If If Not Testtxt txtTel Text Then MsgBox 请输入联系电话 vbOKOnly vbExclamation 警告 txtTel SetFocus Exit Sub End If If Not Testtxt txtRudate Text Then MsgBox 请输入入校日期 vbOKOnly vbExclamation 警告 txtRudate SetFocus Exit Sub End If If Not Testtxt txtAddress Text Then 41 MsgBox 请输入家庭住址 vbOKOnly vbExclamation 警告 txtAddress SetFocus Exit Sub End If If Not IsNumeric Trim txtSID Text Then MsgBox 学号请输入数字 vbOKOnly vbExclamation 警告 txtSID SetFocus Exit Sub End If mrc Delete txtSQL select from student Info where student ID Trim txtSID Text Set mrcc Execu

温馨提示

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

评论

0/150

提交评论