885191319学生学籍信息管理系统设计数据库课程设计

上传人:沈*** 文档编号:68568840 上传时间:2022-04-03 格式:DOC 页数:38 大小:1.06MB
收藏 版权申诉 举报 下载
885191319学生学籍信息管理系统设计数据库课程设计_第1页
第1页 / 共38页
885191319学生学籍信息管理系统设计数据库课程设计_第2页
第2页 / 共38页
885191319学生学籍信息管理系统设计数据库课程设计_第3页
第3页 / 共38页
资源描述:

《885191319学生学籍信息管理系统设计数据库课程设计》由会员分享,可在线阅读,更多相关《885191319学生学籍信息管理系统设计数据库课程设计(38页珍藏版)》请在装配图网上搜索。

1、数据库原理课程设计专 业: 班 级: 学 号: 姓 名: 设计题目: 课程设计评分表姓 名班 级学 号课设题目指导教师评分项目满分分值得分设计文档(30分)文档格式封面2页面布局4目录格式3图表质量2页眉页脚2文档内容内容完整性6内容逻辑性5内容正确性6程序代码(30分)程序功能15编程规范7编程文档8答辩(20分)课题陈述7问题答辩10是否超时3考勤(20分)20总评成绩指导教师评语签名: 年 月 日教研室意见签名: 年 月 日课程设计答辩记录表教师提问学生答辩情况记录成绩答辩小组教师签名摘要本系统为学生学籍管理系统,是一个信息管理系统,其开发主要包括数据库的建立和维护以及前端应用程序的开发

2、两个方面。 经过分析,我使用了 MICROSOFT公司的 VISUAL BASIC 6.0开发工具,利用其提供的各种面向对象的开发工具, 开发了登录模块主要用于验证用户身份,进行有效的操作。在我们所开发的学生学籍管理系统中创建了两个用户教师管理员和学生,通过身份验证后方可进入。本系统还包含查询、插入、修改、删除等基本操作,在整个系统设计中充分利用了模块化的设计思想和开发方法,用户在从主界面模块在验证后进入每个子模块进行各个子系统的具体功能操作。在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成一个满意的可行系统。在下面的各章中我将以开发学生学籍管理系统,谈谈

3、其具体开发过程和所涉及到的问题及解决方法。目录第一章 系统概述1第二章 系统数据库设计部分22.1 需求分析22.1.1 需求描述22.1.2 数据流图32.1.3 数据词典52.2 数据库概念结构设计62.2.1 E-R图62.2.2 实体及属性的定义72.3 数据库逻辑结构设计92.3.1 初始关系模式92.3.2 规范化处理102.4 数据库物理结构设计102.4.1 基于SQL Server的数据表设计102.4.2 索引表112.4.3 角色132.4.4 视图142.5 数据库操作部分142.5.1 数据库的插入操作142.5.2 数据库的修改操作142.5.3 数据库的删除记录操

4、作152.5.4 数据库的备份及还原操作152.5.5 关系图172.6 系统(界面)设计部分182.6.1 数据录入、修改、删除界面设计202.6.2 数据查询与打印输出设计212.6.3 系统的维护、安全设计22第三章 总结23主要参考文献24附录一25附录二30第一章 系统概述数据库原理及应用课程的学习,其主要的目标是能利用课程中学习到的数据库知识与技术较好地开发设计出数据库应用系统,去解决各行各业信息化处理的要求。本实验主要在于巩固学生对数据库的基本原理和基础理论的理解,掌握数据库应用系统的设计开发的基本方法,进一步提高学生的综合运用所学的知识能力。为了使数据库的应用系统开发设计合理、

5、规范、有序、正确、高效进行,现在广泛采用的是工程化6阶段开发设计过程与方法,它们是需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库实施、数据库系统运行与维护阶段。我们按照以上几点开发了学生学籍管理系统数据库。学生学籍管理系统要求读者较好的正我数据库知识与技术外,还要求读者掌握某种客户端开发工具或语言。这里是利用相对简单易学易掌握的Visual Basic6.0 开发工具来实现示例系统的。如果读者对该开发工具不熟悉,这里也无妨。这次课程设计能顺利通过是老师的细心指导和我们小组团结一致、努力的结果。在这次课程设计中每位同学都积极参与各项环节的设计,但我们也有分工。初步列出

6、如下:韩信元是用VB制作前台的界面;惠城旗和赵晓霞担任的工作是对系统的需求分析、构思数据流图、把E-R图转化成关系模型并对其进行规范化处理、用SQL语言建表、视图以及文档的初步编写等。刘方山和张熙磊的工作是负责画数据流图和E-R图,以及转化初始关系模型,和内容摘要等的编写。徐冰是我们组的组长,除对我们所制作单个模块审核外还担任了WORD文档的总结排版。这次数据库的课程设计让我们对数据库的操作有了进一步的了解,受益匪浅。第二章 系统数据库设计部分2.1 需求分析2.1.1 需求描述随着学校的普及和人们文化水平的提高,高效的教学管理系统越来越广泛应用于各类信息化学校。学生学籍管理系统要求实用性强、

7、使用方便、效率高和安全可靠等特点。经分析我们认为学生学籍管理系统的具体要求为:1.能全面管理学校教学相关的各类主体,如院系信息、教师信息、班级信息、学生信息、课程信息、专业信息等2通过使用计算机能方便的维护(包括插入、删除、修改)各信息表3能方便的实现基于多个表的连接查询4系统具有操作方便、简捷等特点因而,我们所开发的管理系统正是围绕以上几个方面进行的,在开发过程中充分考虑到本系统的应用特点,并进行了大量的检验,证明其的确达到了设计的要求。本文主要论述学生学籍管理系统的开发过程。2.1.2 数据流图请求结果正确信息输入请求更新请求更新结果输入请求核对结果待检验信息信息规范班主任正确信息输出结果

8、错误信息个人信息管理系统查询认证教务办P规则表信息规范输出结果输入请求教师输出结果学生输出结果输入请求查询信息处理标准查询表图2.1 数据流图(1)规范表修改请求规范表插入结果插入请求插入结果插入请求查询结果查询请求信息规范P2插入教务办P1查询规范表修改结果修改请求删除结果删除请求查询请求查询结果管理系统删除请求修改结果P3修改P4删除图2.2 数据流图(2)2.1.3 数据词典数据元素数据类型长度数据来源系编号varchar50院系表系名varchar50院系表主任工号varchar50院系表电话varchar50院系表专业号varchar50专业表专业名varchar50专业表班号var

9、char50班级表班名varchar50班级表人数varchar50班级表教师号varchar50教师表姓名varchar50教师表性别varchar50教师表学号varchar50学生表姓名varchar50学生表性别varchar50学生表出生年月smalldatetime8学生表籍贯varchar50学生表varchar50学生表政治面貌varchar50学生表院系varchar50学生表专业班级varchar50学生表照片image16学生表电话varchar50学生表课号varchar50课程表课名varchar50课程表学分float8课程表类别varchar50课程表开课院系va

10、rchar50课程表任课老师varchar50课程表学时varchar50课程表成绩varchar50选课表效果varchar50讲授表2.2 数据库概念结构设计1n1 n m n1m n1 n 1 n 1 n院系含有包含专业老师班级包含讲授课程包含学生选课管理2.2.1 E-R图姓名性别政治面貌出生年月学号专业班级院系籍贯电话民族学生图2.3 系统实体及联系图照片学号姓名院系课号成绩成绩院系系编号系名主任工号电话图2.4 系统部分实体及其属性课号学分课名类别学时开课院系任课老师选课讲授工号课号效果图2.5 系统主要联系及其属性2.2.2 实体及属性的定义在此系统中实体有:院系、专业、班级、教

11、师、学生、课程联系有:选课、讲授属性以表的形式列出:表2.1 院系表属性名数据类型长度是否允许为空有无索引系编号varchar50不允许有系名varchar50允许无主任工号varchar50允许无电话varchar50允许无表2.2 专业表属性名数据类型长度是否允许为空有无索引专业号varchar50不允许有专业名varchar50允许无系编号varchar50不允许有表2.3 班级表属性名数据类型长度是否允许为空有无索引班号varchar50不允许有班名varchar50允许无人数varchar50允许无专业号varchar50不允许有教师号varchar50不允许有表2.4 教师表属性名

12、数据类型长度是否允许为空有无索引教师号varchar50不允许有姓名varchar50允许无性别varchar50允许无系编号varchar50不允许有表2.5 学生表属性名数据类型长度是否允许为空有无索引学号varchar50不允许有姓名varchar50允许无性别varchar50允许无出生年月smalldatetime8允许无籍贯varchar50允许无varchar50允许无政治面貌varchar50允许无院系varchar50允许无专业班级varchar50允许无照片Image16允许无电话varchar50允许无班号varchar50不允许有表2.6 课程表属性名数据类型长度是否允

13、许为空有无索引课号varchar50不允许有课名varchar50允许无学时varchar50允许无类别varchar50允许无讲课学时varchar50允许无开课院系varchar50允许无任课老师varchar50允许无学分varchar50允许无表2.7 选课表属性名数据类型长度是否允许为空有无索引学号varchar50不允许有课号varchar50不允许有成绩Float8允许无表2.8 讲授表属性名数据类型长度是否允许为空有无索引教师号varchar50不允许有课号varchar50不允许有效果Float8允许无2.3 数据库逻辑结构设计2.3.1 初始关系模式院系(系编号,系名,主任

14、工号,电话)专业(专业号,专业名,系编号)班级(班号,班名,人数,专业号, 教师号)教师(教师号,姓名,性别,系编号)学生(学号,姓名,性别,出生年月, 籍贯,民族,政治面貌,院系,电话,班号)课程(课号,课名,讲课学时,开课院系,任课老师,学分)选课(学号,课号,成绩)讲授(教师号,课号,效果)2.3.2 规范化处理经过对初始关系模式的规范化处理以下关系模式中不存在部分函数依赖和传递函数依赖,已经达到3NF。(=代表主码,代表外码)院系(系编号,系名,主任工号,电话)专业(专业号,专业名,系编号)班级(班号,班名,人数,专业号, 教师号)教师(教师号,姓名,性别,系编号)学生(学号,姓名,性

15、别,出生年月, 籍贯,民族,政治面貌,院系,电话,班号)课程(课号,课名,讲课学时,开课院系,任课老师,学分)选课(学号,课号,成绩) 讲授(教师号,课号,效果) 2.4 数据库物理结构设计2.4.1 基于SQL Server的数据表设计用企业管理器建表,以学生表为例如下图所示:图2.6学生表(用SQL语言查询分析器建表代码见附录一)2.4.2 索引表列出索引表格(查询分析器建立索引代码见附录一)表2.9 院系索引表索引字段名称数据类型字段大小主索引系编号Varchar50无系名Varchar50有主任工号Varchar50无电话Varchar50表2.91 专业索引表索引字段名称数据类型字段

16、大小主索引专业号Varchar50无专业名Varchar50主索引系编号Varchar50表2.92 班级索引表索引字段名称数据类型字段大小主索引班号Varchar50无班名Varchar50无人数Varchar50主索引专业号Varchar50主索引教师号Varchar50表2.93 教师索引表索引字段名称数据类型字段大小主索引教师号Varchar50无姓名Varchar50无性别Varchar50主索引系编号Varchar50表2.94 学生索引表索引字段名称数据类型字段大小主索引学号Varchar50无姓名Varchar50无性别Varchar50无出生年月smalldatetime8无

17、籍贯Varchar50无Varchar50无政治面貌Varchar50无院系Varchar50无专业班级Varchar50无 照片image16无电话Varchar50主索引班号Varchar50表2.95 课程索引表索引字段名称数据类型字段大小主索引课号Varchar50无课名Varchar50无学时Varchar50无类别Varchar50无讲课学时Varchar50无开课院系Varchar50无任课老师Varchar50无学分float8表2.96 选课索引表索引字段名称数据类型字段大小主索引学号Varchar50主索引课号Varchar50无成绩Float8表2.97 讲授索引表索引字

18、段名称数据类型字段大小主索引教师号Varchar50主索引课号Varchar50无效果Varchar502.4.3 角色建立了教师和学生两个角色图2.7 角色(1)图2.8 角色(2)2.4.4 视图用企业管理器建立两个视图,即学生_成绩视图,教师_信息_成绩视图。菜单栏中单击工具 向导 数据库 创建视图向导,选择你所要建的试图的对象,选择列名,按照提示,最后单击完成即可。用查询分析器建立视图以学生_成绩视图(教师_信息_成绩视图的代码见附录一)为例代码如下:create view 学生_成绩asselect选课表.学号,姓名, 选课表.课号,课名,成绩from 选课表,学生表,课程表wher

19、e 学生表.学号 = 选课表.学号 and选课表.课号 = 课程表.课号2.5 数据库操作部分2.5.1 数据库的插入操作INSERT INTO (,) VALUES(,);例如:在学生表中插入一个新同学的相关信息(注:学号是主码,故不可以相同) INSERT INTO 学生表(学号,姓名,性别,出生年月,籍贯,政治面貌,院系,电话)VALUES(34,丁一,女,1986年1月1号,北京,团员,汉族,信息工程系,07978056)2.5.2 数据库的修改操作UPDATE SET= WHERE;例如:在学生表中修改学号为08060505101的院系为人文科学系。UPDATE 学生表 SET院系=

20、人文科学系 WHERE 学号=080605051012.5.3 数据库的删除记录操作DELETE FROMWHERE;例如:删除学号为08060505135的相关信息DELETEFROM学生表WHERE 学号=080605051352.5.4 数据库的备份及还原操作使用 SQL Server 模糊备份和还原操作: 将包含数据的扩展盘区写入备份集,而无需考虑使备份期间正由用户修改的页同步。这显著减小了备份对当前用户的影响。还使备份得以串行地复制页。取消了所有随机读取,从而加快使用频繁的系统中的备份过程。但这同时也意味着备份中的页以一种不一致的、无法恢复的状态存储。 将事务日志作为备份的一部分复制

21、。 RESTORE 语句: RESTORE FILELISTONLY FROM DISK = c:Northwind.bak RESTORE DATABASE TestDB FROM DISK = c:Northwind.bak WITH MOVE Northwind TO c:testdb.mdf, MOVE Northwind_log TO c:testdb.ldf 如果数据库不存在,则创建数据库,并初始化数据库中的扩展盘区。如果 RESTORE 语句执行时数据库已存在,则可以跳过这一步。 复制备份集中的扩展盘区。因为所有的扩展盘区都按串行顺序排列,所以这个过程较快。将忽略未在备份集中找到

22、的扩展盘区;它们将不作为空的扩展盘区进行初始化。 使用事务日志恢复数据库。将日志中记录的数据修改前滚到日志末尾,然后回滚任何未完成的事务。这将使数据库返回到一致的已恢复状态,这种状态与数据库在 BACKUP 语句完成时的状态一致。 备份数据库BACKUP DATABASE Northwind TO DISK = c:Northwind.bak还原数据库-返回由备份集内包含的数据库和日志文件列表组成的结果集RESTORE FILELISTONLY FROM DISK = c:Northwind.bak-还原由BACKUP备份的数据库RESTORE DATABASE Northwind FROM

23、DISK = c:Northwind.bak -指定还原后的数据库物理文件名称及路径RESTORE DATABASE TestDB FROM DISK = c:Northwind.bak WITH MOVE Northwind TO c:testtestdb.mdf, MOVE Northwind_log TO c:testtestdb.ldf MOVE logical_file_name TO operating_system_file_name指定应将给定的 logical_file_name 移到 operating_system_file_name。默认情况下,logical_file

24、_name 将还原到其原始位置。如果使用 RESTORE 语句将数据库复制到相同或不同的服务器上,则可能需要使用 MOVE 选项重新定位数据库文件以避免与现有文件冲突。可以在不同的 MOVE 语句中指定数据库内的每个逻辑文件。 -强制还原,加上REPLACE参数,则在现有数据库基础上强制还原。RESTORE DATABASE TestDB FROM DISK = c:Northwind.bak WITH REPLACE, MOVE Northwind TO c:testtestdb.mdf, MOVE Northwind_log TO c:testtestdb.ldf2.5.5 关系图图2.9

25、 关系图2.6 系统(界面)设计部分基于VISUAL BASIC 6.0开发工具1:主窗体类型为“展示屏幕”,命名为frmSplash如下图所示:该窗体有两个作用,一为系统启动时的窗体,二为系统运行时的“关于.”窗体,而mbAbout即为标识若mbAbout为true, 则表示为系统启动时的窗体若mbAbout为false,则表示为系统运行时的“关于.”窗体2:接下来鼠标单击进入用户权限登陆界面,其为“登陆对话框”的;类型,命名为frmLogin。窗体的界面如下图所示:以上为老师的登陆界面,教师身份 如admin admin 见数据库的Admin表以上为其中之一的学生的登陆界面 学生身份 以学

26、生名字为用户名,学号为其密码如韩信元 08060505131 见数据库的Student表3:进入与SQL server 2000的连接界面。其数据库名为“xin”2.6.1 数据录入、修改、删除界面设计进入学生信息管理系统。其为“frmStudent”的窗体,如下图:该窗体的流程图如下图所示:学生记录列表查找学生记录列出某班级的学生记录浏览学生记录编辑学生记录添加学生记录删除当前学生记录以报表形式显示学生记录在该界面内,可以进行修改,编辑,添加等操作。由于时间的限制,不足的地方是“以报表形式显示学生记录”没完成,暂时实现不了。希望以后能够完成这个版块的功能。2.6.2 数据查询与打印输出设计单

27、击“自定义查询”按钮,将会出现自定义查询窗体frmFind。窗体的设计界面如下图所示:进入某个学生信息界面如下所示,其窗体为frmView。在该窗体下,学生只许可查看自己的信息,而且不能进行修改2.6.3 系统的维护、安全设计与SQL server 2000的具体连接如下图所示:第三章 总结经过这些天的设计和开发,学生学籍管理系统基本开发完毕。本系统基本能够完成学生学籍信息和学生的成绩的查询、插入、删除、修改等。这次的课程设计是分组讨论和制作的。在制作的过程中,我学到的不仅是知识,我还认识到许多事情。这次设计对我们的综合能力是一次很好的锻炼,使我的编程水平提高了一大步,同时也使我充分的认识到合

28、作的可贵。在我们所制作的学生学籍管理系统中,涉及到数据库、VB等,前台是用VB制作的,其中包括主界面和一些按扭等,后台用到的是我们所学的数据库的知识,建立了基本表和视图、角色等,权限在前台已经制作,故在后台不在重复。在后台中我们还简单的制作了数据库的备份与还原,用来防止数据库遭到破坏,可即时修改。最后按照谢老师的要求编写成文档,从中也对WORD的运用提高了一步。但是该系统还有许多不尽如人意的地方,比如用户界面与SQL语言的连接上并不是很完善,这是因为我们对VB不是很了解。还有就是由于我们对数据库知识的掌握有限和不牢固,角色和视图的创建没有想象中的完美,备份和还原也只是初步的形成,以致学生学籍管

29、理系统只是达到了基本要求,有待进一步改善,希望老师给予批评。最后,在这里我要衷心的感谢我们的指导老师谢晓云,谢老师严谨的指导态度与深厚的理论知识都让我受益非浅,从他身上我学到了很多的东西,无论是理论还是实践都使我的知识有很大的提高我们才能在短时间内顺利的完成这次课程设计。由于我们水平有限,因此在我们所设计的学籍管理系统中还有许多不足之处,请老师批评指正,我会在以后的制作中不断改进,不断完善。主要参考文献1数据库系统概论 作者:王珊 萨师煊 第四版 高等教育出版社 2006年2 Visual Basic6.0数据库系统开发实例导航 作者: 刘韬、骆娟、何旭洪3数据库原理及应用实验指导 作者:钱雪

30、忠 陶向东 北京邮电大学出版社 2005 附录一1用SQL语言分别建立院系表、专业表、教师表、班级表、学生、课程和选课表、讲授表。代码如下:院系表CREATE Table 院系表(系编号 varchar(50) not null primary key(系编号),系名 varchar(50),主任工号 varchar(50),电话 varchar(50)INSERT INTO 院系表 VALUES(05,信息工程系,1,07978);专业表CREATE Table 专业表(专业号 varchar(50) not null primary key(系编号),专业名 varchar(50),系编号

31、 varchar(50),foreign key(系编号)references 院系表(系编号)教师表CREATE Table 教师表(教师号 varchar(50) not null primary key(教师号),姓名 varchar(50),性别 varchar(50),系编号 varchar(50),foreign key(系编号)references 院系表(系编号)班级表CREATE Table 班级表(班号 varchar(50)not null primary key(班号),班名 varchar(50),人数 varchar(50),专业号 varchar(50),教师号

32、varchar(50),)学生表CREATE Table 学生表(学号 varchar(50) not null primary key(学号),姓名 varchar(50) not null,性别 varchar(50),出生年月 varchar(50),籍贯 varchar(50),民族 varchar(50),政治面貌 varchar(50),院系 varchar(50),专业班级 varchar(50),电话 varchar(50)INSERT INTO 学生表 VALUES(08060505101,赵晓霞,女,1985,河北省,汉族,预备党员, 信息工程系,计算机051,079783

33、36522);INSERT INTO 学生表 VALUES(08060505102,张熙磊,男,1985,河北省,蒙古族,团员, 信息工程系,计算机051,13766353935);INSERT INTO 学生表 VALUES(08060505105,惠城旗,男,1986,江苏省,汉族,团员, 信息工程系,计算机051,13576799384);INSERT INTO 学生表 VALUES(08060505107,刘方山,男,1986,江西省,汉族,团员, 信息工程系,计算机051,0797);INSERT INTO 学生表 VALUES(08060505119,徐 冰,男,1987,江西省,

34、汉族,团员, 信息工程系,计算机051,0797);INSERT INTO 学生表 VALUES(08060505131,韩信元,男,1987,海南省,汉族,团员, 信息工程系,计算机051,0797);INSERT INTO 学生表 VALUES(08060505135,张 三,男,1987,海南省,汉族,团员, 信息工程系,计算机051,0797);课程表CREATE Table 课程表(课号 varchar(50) not null primary key(课号),课名 varchar(50),类别 varchar(50),学时 varchar(50) not null,开课院系 var

35、char(50),任课老师 varchar(50),学分 float(8)INSERT INTO 课程表 VALUES( 1,计算机导论,理工,72,信息工程系,曹老师,4);INSERT INTO课程表 VALUES( 2,C语言 ,理工,72,信息工程系,徐老师,4.5);INSERT INTO课程表 VALUES( 3,C+ ,理工,72,信息工程系,陈老师,4);INSERT INTO 课程表 VALUES( 4,数据结构 ,理工,72,信息工程系,吴老师,5);INSERT INTO 课程表 VALUES( 5,数据库 ,理工,72,信息工程系,曾老师,4.5);INSERT INT

36、O 课程表 VALUES( 6,计算机网络,理工,72,信息工程系,陈老师,4);INSERT INTO 课程表 VALUES( 7,中国近代史,理工,72,人文科学系,黄老师,4);选课表CREATE Table 选课表(学号 varchar(50) not null , 课号 varchar(50) not null,成绩 float(8),primary key(学号,课号)insert into 选课表 values(08060505101,5,92); insert into 选课表 values(08060505102,1,80); insert into 选课表 values(0

37、8060505105,2,80); insert into 选课表 values(08060505107,7,85); insert into 选课表 values(08060505119,5,83); insert into 选课表 values(08060505131,6,90); insert into 选课表 values(08060505135,3,76);讲授表CREATE Table 讲授表(教师号 varchar(50)not null,课号 varchar(50)not null,效果 varchar(50),primary key(教师号,课号)2建立索引的代码create

38、 unique index 院系_系编号 on 院系表(系编号)create unique index 专业_专业号 on 专业表(专业号)create unique index 班级_班号 on 班级表(班号)create unique index 教师_教师号 on 教师表(教师号)create unique index 学生_学号 on 学生表(学号)create unique index 课程_课号 on 课程表(课号)3视图1)学生_成绩视图的代码create view 学生_成绩asselect 学生表.学号,姓名,课号,成绩 from 选课表,学生表where 学生表.学号 =选

39、课表.学号2)教师_信息_成绩视图的代码create view 教师_信息_成绩asselect 专业表.专业号,班级表.班号,学生表.学号,课程表.课号,教师表.教师号 from 专业表,班级表,学生表,课程表,教师表,选课表,讲授表附录二用VB建立的界面代码1:窗体frmLogin的的代码如下:Option Explicit表示当前用户登录所选择的身份,即用户类型, 0-表示教务管理人员;1-表示学生Dim mnUserType As IntegerPrivate Sub cmdCancel_Click() Unload MeEnd SubPrivate Sub cmdOK_Click()

40、 取得用户输入的用户名和密码 Dim user As String, pwd As String user = txtUser pwd = txtPwd 根据不同的身份,选择不同的表用以查询 Dim r As New ADODB.Recordset Set r = DataEnv.rssqlSeek Dim strSQL As String Select Case mnUserType Case 0: 若身份为管理员 strSQL = select * from admin where name= & user & and pwd= & pwd & Case 1: 若身份为学生 strSQL

41、= select * from student where name= & user & and serial= & pwd & End Select On Error Resume Next 查询DataEnv.rssqlSeek的状态,如果已经打开,则先关闭 If r.State = adStateOpen Then r.Close r.Open strSQL 根据strSQL的内容刷新DataEnv.rssqlSeek 用户密码错误的次数,如果错误次数超过3次,则退出系统 Static nTryCount As Integer If r.EOF Then 登录失败 MsgBox 对不起,

42、无此用户或者密码不正确!请重新输入!, vbCritical, 错误 txtUser.SetFocus txtUser.SelStart = 0 txtUser.SelLength = Len(txtUser) nTryCount = nTryCount + 1 If nTryCount = 3 Then MsgBox 您无权操作本系统!再见!, vbCritical, 无权限 Unload Me End If Else 登陆成功 显示MDI窗体, 并将用户类型和用户名传到MDI窗体中的mnUserType, msUserName中 Load MDIMain With MDIMain .mnU

43、serType = mnUserType .msUserName = pwd .Show End With Unload Me End IfEnd Sub2:窗体“frmStudent”的学生信息管理系统的的代码如下:添加的代码:Private Sub cmdAdd_Click() 添加记录 fraSeek.Enabled = False fraBrowse.Enabled = False grdScan.Enabled = False DataEnv.rsStudent.AddNew txtBirthday.Text = 1987-01-01 fraInfo.Enabled = True f

44、raBrowse.Enabled = False cmdAdd.Enabled = False cmdEdit.Enabled = False cmdDelete.Enabled = False cmdUpdate.Enabled = True cmdReport.Caption = 取消 cmdReport.Enabled = True mbClose = False 不能关闭窗口End Sub删除的代码:Private Sub cmdDelete_Click() 如果出错,则显示错误代码 On Error GoTo errHandler If MsgBox(要删除记录?, vbYesNo

45、+ vbQuestion + vbDefaultButton2, 确认) = vbYes Then 通过在DataEnv.Con中执行SQL命令,来删除记录 DataEnv.Con.Execute delete from student where serial = & txtSerial & DataEnv.rsStudent.MoveNext If DataEnv.rsStudent.EOF Then DataEnv.rsStudent.MoveLast 刷新用户导航的网格控件 Call RefreshGrid End If Exit Sub errHandler: MsgBox Err.

46、Description, vbCritical, 错误End Sub编辑的代码:Private Sub cmdEdit_Click() 编辑记录之前,需要设置其他控件的Enabled属性 fraSeek.Enabled = False fraBrowse.Enabled = False grdScan.Enabled = False fraInfo.Enabled = True cmdAdd.Enabled = False cmdEdit.Enabled = False cmdDelete.Enabled = False cmdUpdate.Enabled = True cmdReport.C

47、aption = 取消 更改cmdReport标题 cmdReport.Enabled = True mbClose = False 出于编辑状态,则用户不能关闭窗口End Sub更新的代码:Private Sub cmdUpdate_Click() 更新所添加或者修改的记录 On Error GoTo errHandler: Dim str As String str = txtSerial.Text With DataEnv.rsStudent .Fields(Serial) = txtSerial.Text .Fields(name) = txtName.Text .Fields(sex

48、) = cboSex.Text .Fields(nation) = txtnation.Text .Fields(status) = txtstatus.Text .Fields(class) = dcbClass.Text .Fields(birthday) = txtBirthday.Text .Fields(tel) = txtTelephone.Text .Fields(address) = txtAddress.Text Call WriteImage(.Fields(photo), mstrFileName) .Update End With cmdReport.Caption =

49、 报表(&R) cmdUpdate.Enabled = False fraInfo.Enabled = False mbClose = True If DataEnv.rssqlSeek.State = adStateClosed Then DataEnv.rssqlSeek.Open 刷新右端用以导航的网格控件 Call RefreshGrid 根据记录集中记录的个数,改变各个按钮的状态 Call ChangeBrowseState 定位到刚刚添加或者修改过的记录 DataEnv.rssqlSeek.MoveFirst DataEnv.rssqlSeek.Find serial= & str

50、 & fraSeek.Enabled = True fraBrowse.Enabled = True grdScan.Enabled = True Exit Sub errHandler: MsgBox Err.Description, vbCritical, 错误End Sub查询的代码;Private Sub cmdSeek_Click() With frmFind Dim i As Integer 显示查找窗口 Load frmFind 填充查找窗体的字段列表框 .lstFields.Clear For i = 0 To DataEnv.rsStudent.Fields.Count - 1 .lstFields.AddItem (Dat

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