欢迎来到天天文库
浏览记录
ID:36434112
大小:365.00 KB
页数:41页
时间:2019-05-10
《课程设计题目二学生信息管理系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、课程设计题目二学生信息管理系统设计方法及代码一、设计要求方法创建一个学生信息管理系统,可以完成学生基本信息及成绩的输入、修改和查询。具体要求如下:(一)建立“学生信息”数据库1.建立数据库利用MicrosoftAccess或VB中的“可视化数据管理器”建立数据库,名称为“Student.mdb”。2.建立数据表在Student.mdb数据库中建立5个表:(1)学籍表该表存放学生的基本信息,名称为“学籍”,结构如表3-1所示。表3-1学籍表结构字段名类型大小说明字段名类型大小说明学号文本(Text)20主索引出
2、生日期日期(Date)姓名文本(Text)10班级文本(Text)20性别文本(Text)2表中暂时存放一条记录,各字段均不应为空。(2)成绩表该表存放学生成绩,名称为“成绩”,结构如表3-2所示。表3-2成绩表结构字段名类型大小学号文本(Text)20课程文本(Text)20分数整型(Integer)说明:为减少数据冗余,成绩表中仅存储学号,不存储学生姓名,需要时根据学号从学籍表中获取姓名。按照数据库设计规范,对“课程”亦应作类似处理。经过处理后,程序代码的编写量和难度均会明显增加。为了减轻初学者的编程负担
3、,在成绩表中未对课程作规范化处理,而是直接存储课程名称。(3)课程信息表该表存放课程信息,名称为“课程信息”,结构如表3-3所示。表3-3课程信息表结构字段名类型大小说明课号文本(Text)10主索引课程文本(Text)20说明:基于前面所述的原因,在程序中没有将“课号”作为检索字段。(4)用户表该表存放用户登录信息,名称为“用户”,结构如表x-4所示。表3-4用户表结构字段名类型大小说明用户名文本(Text)16主索引密码文本(Text)16权限文本(Text)10表中暂时存放两条记录,内容如表3-5所示。
4、表3-5用户表内容用户名密码权限Admin123456管理员User123普通(5)临时表该表作为临时工作表,名称为“临时”,用于输入成绩,结构如表3-6所示。表3-6临时表结构字段名类型大小学号文本(Text)20姓名文本(Text)10分数整型(Integer)方法:在数据库中设计“临时”表的目的是兼顾DataGrid控件的使用和减少数据冗余。为了减少数据冗余,在“成绩”表中未包含学生姓名,而以“学号”与“学籍”表相关联。尽管这样做符合数据库设计规范,但是某些数据绑定控件的使用却因此而受到限制。例如,Da
5、taGrid控件以表格形式显示数据,具有较强的数据显示和编辑功能,可以进行成批数据的连续录入。令人遗憾的是,与DataGrid控件绑定的记录集必须使用客户端游标(CursorLocation=adUseClient),若记录集采用服务器端游标(adUseServer),该控件将无法显示数据。使用客户端游标的记录集在功能上有很多限制,对于多表查询来说,若所生成的记录集的输出字段来自两个或更多表,则不能进行更新操作;若查询虽然涉及多表,但输出字段仅来自其中一个表,修改更新操作不受影响。以下面的两条SQL语句为例:
6、①SELECT成绩.学号,学籍.姓名,成绩.课程,成绩.分数FROM成绩,学籍WHERE成绩.学号=学籍.学号②SELECT成绩.学号,成绩.课程,成绩.分数FROM成绩,学籍WHERE成绩.学号=学籍.学号语句①所选择的查询输出字段(SELECT语句)来自两个表,采用客户端游标生成记录集后可以在各种数据绑定控件中正常显示,但不能修改、更新数据。若在程序中执行更新操作,将出现如图3-2所示的错误提示。图3-2错误信息语句②的查询输出字段仅来自“成绩”表,尽管在查询条件(WHERE子句)中涉及两个表,但不影响更
7、新操作。为了充分发挥DataGrid控件的数据编辑功能,同时兼顾数据库设计规范,可以用一个临时工作表存放多表查询的结果,将多表操作转换为单表操作。数据流程如下:多表查询→记录集→临时表→录入、修改→存入基本表。(二)用户登录窗体本窗体(frmLogin)作为系统的启动窗体,用于验证用户是否合法,运行时界面如图3-3所示。图3-3用户登录方法:·窗体上两个文本框分别用于输入用户名和密码,其中密码文本框的内容用“*”显示。·在窗体上添加一个ADO数据控件,设Visible=False,将其与数据库连接,用SQL语
8、句将记录源与数据库中的“用户”表绑定。·单击“确定”按钮后,查询“用户”表中是否有相符的用户名和密码,若不符,提示重新输入,焦点返回文本框。如果3次输入错误,退出系统。若输入正确,将用户名和用户权限保存在全局变量中,显示系统主窗体,卸载本窗体。·单击“取消”按钮,退出系统。注意:保存用户名和用户权限需要建立一个标准模块(Module1),用Public关键字声明两个全局变量,将“用户登录”窗体运行时
此文档下载收益归作者所有