数据库课程设计-图书管理系统

合集下载

数据库课程设计——图书管理系统

数据库课程设计——图书管理系统

借阅管理模块
实现图书的借阅、归还和 续借功能,记录借阅历史 和当前借阅状态。
系统管理模块
实现用户管理、权限管理 、日志管理等功能,保障 系统的安全性和稳定性。
04
系统实现
开发环境搭建
开发工具
Visual Studio Code、MySQL Workbench
运行环境
Windows 10、MySQL 5.7
息。
借阅数据
包括借阅编号、读者 编号、图书编号、借 阅日期、归还日期等
信息。
系统用户数据
包括用户编号、用户 名、密码、角色和权
限等信息。
性能需求
响应时间
01
系统响应时间应小于2秒。
并发用户数
02
系统应支持至少100个并发用户。
数据备份与恢复
03
系统应具备定期自动备份和手动备份功能,同时能够在需要时
数据库课程设计— —图书管理系统
2024-01-09
目录
• 引言 • 系统需求分析 • 系统设计 • 系统实现 • 系统测试与优化 • 课程设计总结与展望
01
引言
课程设计目的
01 掌握数据库设计的基本步骤和方法
通过课程设计,使学生熟悉数据库设计的流程, 包括需求分析、概念设计、逻辑设计、物理设计 等阶段,并掌握各个阶段的主要任务和方法。
模块实现
图书管理模块
实现图书的录入、修改、删除等功能 ,提供对图书信息的全面管理。
借阅管理模块
实现图书的借阅、归还等功能,记录 借阅历史,方便管理员和读者查看。
读者管理模块
实现读者的注册、登录、个人信息管 理等功能,提供对读者信息的全面管 理。
系统管理模块
实现用户权限管理、系统日志查看等 功能,保障系统的安全性和稳定性。

数据库课程设计--图书借阅管理系统的设计

数据库课程设计--图书借阅管理系统的设计

图书借阅管理系统的设计1.需求分析图书信息、借阅证件信息及图书借阅管理是一件非常繁琐但又及其重要的工作, 因此有必要开发一个数据库管理系统, 用来管理这些信息。

这篇课程设计介绍的就是图书借阅信息管理系统。

系统的具体要求如下所述:(1)图书信息的录入: 要求能够将图书信息录入到数据库中。

(2)图书信息的修改: 根据需要, 修改、删除图书信息。

(3)用户登陆: 根据用户权限登陆此系统。

(4)系统用户管理:要求可以管理系统的用户, 包括添加、修改和删除用户。

(5)借阅证件信息录入:可以输入不同类型的借阅者信息, 并根据需要修改、删除借阅证件信息。

(6)借阅证管理: 包括借阅证丢失、过期等管理。

(7)借阅管理: 包括借书、还书、过期还书与书籍丢失处罚等管理。

2.数据库设计数据库设计主要在SQL Server服务器端建立数据库和数据表, 并实现数据处理功能。

本文所设计的数据库中要记录读者的借书情况、图书被借阅的情况以及读者、图书的基本情况。

下面对图书借阅管理系统所需的数据结构进行分析并创建数据库。

2.1 概念结构设计现在对所设计系统的需求作进一步的分析, 产生概念结构设计的E-R模型。

由于这个系统并不复杂, 因此可采用自顶向下的设计方法。

自顶向下设计的关键是确定系统的核心活动。

所谓核心活动就是系统中的其他活动都要围绕这个活动展开, 或与此活动密切相关。

确定了核心活动之后, 系统就有了可扩展的余地。

对于这个图书借阅管理系统, 其核心活动是借阅, 读者与图书之间是通过借阅发生联系的。

因此, 此系统包含的实体有:(1) 读者: 用于描述一名读者的基本信息, 用借书卡编号来标识。

(2) 图书:用于描述一本图书的基本信息, 用图书编号来标识。

经过初步分析, 可以得到此系统中各实体所包含的基本属性如下:读者: 借阅证编号、读者姓名、工作单位、身份证号、借阅证类型、办证日期、证件状态。

图书: 图书编号、图书名称、图书分类、作者、出版社、图书价格、图书封面由于一名读者可以同时借阅多本图书, 而一本图书一次只能借给一名读者, 因此读者和图书之间是一对多的联系。

数据库课程设计--图书管理系统的设计与实现

数据库课程设计--图书管理系统的设计与实现

数据库课程设计--图书管理系统的设计与实现计算机工程学院数据库原理及应用课程设计报告课题名称:图书管理系统的设计与实现专业:信息管理与信息系统班级:信管1121姓名:杨**学号: 1121807131指导老师:周泓、金春霞2013 年 12 月 14 日课程设计任务及进度表指导教师(签章):年月日课程设计评语学生姓名:杨**班级、学号:信管11211121807131题目:图书管理系统的设计与实现综合成绩:中文摘要外文摘要目录1引言 (1)1.1选题背景 (1)1.2系统环境 (1)2 系统总体分析…………………………………………………………………………22.1需求分析 (2)2.1.1 功能需求………………………………………………………………………22.1.2 性能需求………………………………………………………………………32.1.3 环境需求………………………………………………………………………32.2 可行性分析………………………………………………………………………32.2.1 经济可行性……………………………………………………………………32.2.2 技术可行性……………………………………………………………………32.2.3 管理可行性……………………………………………………………………42.2.4 用户可行性……………………………………………………………………43 系统总体设计……‥…………………………………………………………………43.1 软件模块结果设计………………………………………………………………43.1.1 系统方案确定…………………………………………………………………43.1.2 软件结构设计…………………………………………………………………43.2系统模块功能图 (4)3.3 数据库设计………………………………………………………………………53.4 概念结构设计……………………………………………………………………63.4.1实体功能图 (6)3.4.2 E-R图 (8)3.5 逻辑结构设计……………………………………………………………………84 系统实现与测试………………………………………………………………………104.1 连接数据库的实现………………………………………………………………104.2 模块功能实现……………………………………………………………………10 5 备份和还原数据库……………………………………………………………………1 65.1 规划数据库的还原和备份………………………………………………………1 65.2 数据库的备份……………………………………………………………………1 65.3 还原数据库………………………………………………………………………18结论……………………………………………………………………………………20致谢……………………………………………………………………………………2 1参考文献 (22)数据库原理及应用课程设计报告1引言1.1选题背景现代人的生活离不开图书,不论在家还是在公司,读书已经成为了一种生活惯。

数据库课程设计之图书管理系统

数据库课程设计之图书管理系统

数据库课程设计之图书管理系统-CAL-FENGHAI.-(YICAI)-Company One1数据库课程设计之图书管理系统《数据库类课程设计》系统开发报告学号: 111007131姓名:吴书敏题目:图书借阅管理指导教师:高洁提交时间: 2013年6月1日计算机科学与应用系目录第一章需求分析 (1)第二章系统功能设计 (2)2.1系统功能模块图................................................................................................ 第三章数据库设计 (3)3.1 数据库设计 (3)3.2数据表设计 (5)3.3 数据库编程 (7)第四章功能模块的创建 (8)4.1创建向读者表插入数据的存储过程 (8)4.2创建向图书表中插入数据的存储过程 (9)4.3创建实现还书的存储过程 (10)4.4创建实现借书的存储过程 (11)4.5建立是否超期表值函数 (13)4.6查询模块 (14)结束语 (18)参考文献 (19)第一章需求分析系统功能分析阶段的任务就是确定该系统要解决的问题及其具体要求。

需要通过与用户的交流和沟通明确对系统的功能要求,最终列出系统可以实现的功能由用户确认。

1.总体方案(1) 图书资料的管理图书管理员将采购的图书入库分类处理,同时建立相关的图书资料信息,如果该书已有,则修改现有书本等于原有书本数加上新增书本数。

如果图书损坏也修改图书资料信息。

如果图书出馆,则删除相关的图书资料信息。

(2) 读者资料管理系统管理员要为读者办理相应的图书证,读者填写登记表包括学号、姓名、性别基本信息。

读者申请退证时,可以删除改读者的基本信息。

(3) 借书操作读者把借阅证和想借阅的图书交给图书管理员,管理员进行审核。

如该读者是否有过期未还的图书,是否借阅图书已经超过五本,有上述情况之一则借阅不成功。

否则借阅成功。

数据库课程设计--图书馆管理系统

数据库课程设计--图书馆管理系统

目录1 前言 (1)2 需求分析 (1)2.1 课程设计目的 (1)2.2 课程设计任务 (1)2.3 设计环境 (2)2.4 开发语言 (2)3 分析和设计 (2)3.1 系统E-R模型 (6)3.2 表空间及表的设计 (6)3.3 视图设计 (15)3.4 存储过程、函数、包的设计 (15)3.5 触发器设计 (22)3.6 角色、用户、权限设计 (24)3.7 备份方案设计 (26)4 课程设计总结 (27)参考文献 (28)致谢 (28)1 前言一个简单的图书管理系统包括图书馆内书籍的信息、学校在校师生的信息以及师生的借阅信息。

此系统功能面向图书馆管理员,可以完成书籍和读者的增加、删除和修改,制定借阅规则,以及对读者借阅、续借、归还、预约的确认。

2 需求分析2.1 课程设计目的通过专业课程设计Ⅱ,即大型数据库系统课程设计,有助于培养学生综合运用数据库相关知识解决实际问题的能力。

本设计要求对实际问题进行需求分析,提炼实际问题中的数据,建立关系模型,并在大型数据库中得以实现。

同时要求对数据库的运营、管理及使用上进行必要的规划和实现。

2.2 课程设计任务(1)图书信息:包括图书编号、图书名称、所属类别等;(2)读者信息:包括读者编码、姓名、性别、专业等;(3)借还书信息:包括图书当前状态、被借还次数、借阅时间等。

基本要求:(1)根据需求,补充必要的数据库实体,建立ER模型,通过ER图表示。

(2)在Oracle中创建该系统的数据库,并在数据库中实现各表,写入一定的数据。

(3)从实际查询应用出发,为一些主要的应用模块设计至少3个参数化视图。

(4)从数据检验的角度出发,为相关的表建立至少1个触发器。

(5)从数据更新或修改的角度出发,设计至少1个存储过程。

(6)从安全的角度出发,规划系统的角色、用户、权限,并通过相关的SQL实现。

(7)预计每个表的大致容量和增长速度,指定备份的方案,写出相关的备份命令。

图书资料管理系统-数据库课程设计

图书资料管理系统-数据库课程设计

目录摘要 (1)前言 (2)正文 (3)1.问题描述 (3)2.需求分析 (3)2.1 系统业务流程图 (3)2.2 数据流程图及数据字典 (4)2.3系统功能模块图 (5)3.系统总体设计 (6)3.1 概念结构设计 (6)3.2逻辑结构设计 (9)4.详细设计 (12)5.系统测试 (14)5.1测试方法 (14)5.2测试用例 (15)5.3测试结果 (15)6.软件使用说明书 (16)总结 (20)参考文献 (21)致谢 (22)摘要图书资料管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。

对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。

而对于后者则要求应用程序功能完备,易使用等特点。

关键词:图书资料管理;查找方便;存储量大;高效率;前言书籍是人类不可缺少的精神食粮,对学校来说,显得尤为重要。

所以图书资料管理系统应该能够为用户提供充足的信息和快捷的查询手段。

但一直以来人们使用传统人工的方式管理图书、期刊、资料等,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,给查找、更新和维护都带来了不少的困难。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对图书资源信息进行管理,具有着手工管理所无法比拟的优点。

例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高图书资料管理的效率,也是企业、学校的科学化、正规化管理,与世界接轨的重要条件。

正文1. 问题描述图书资料管理系统应该能够提供所有借阅者的详细信息,以及库存的详细情况,对借书和还书两大功能进行合理的操作并登记。

图书资料管理系统的主要任务是建立详尽的借阅信息,以及馆内的书种及对应书刊的记录,并对借阅者和其借阅的书籍进行登记。

数据库课程设计--图书馆管理系统

数据库课程设计--图书馆管理系统

数据库课程设计--图书馆管理系统数据库系统概论课程设计设计题目:图书管理系统学院:计算机信息与科学学院专业:计算机科学与技术学号:20110514323姓名:刘静指导教师:潘林森目录1.引言 .................................. 错误!未定义书签。

2. 需求分析阶段......................... 错误!未定义书签。

2.1任务概述(目标)………………………………………..错误!未定义书签。

2.2数据需求:..................................3 概念设计阶段.......................... 错误!未定义书签。

3.1 任务与目标……………………………………….错误!未定义书签。

3.2 各阶段的结果…………………………………………3.3各E-R图中联系的属性4.逻辑设计阶段 (12)4.1逻辑设计的任务和目标 (12)4.2数据组织 (12)4.2.1将E-R图转换为关系模型 (12)4.2.2模型优化 ............................................. 错误!未定义书签。

4.3具体的基本E-R图向关系模型转化5.物理设计阶段 (15)5.1物理设计阶段的目标与任务 (15)5.2数据存储方面 (15)5.3系统功能模块 (16)5.3.1 读者基本信息的查询和更新模块 (16)5.3.2 图书基本信息的查询和更新模块 (16)6.数据库实施阶段 (17)6.1建立数据库、数据表、视图、索引 (17)6.1.1 建立数据库 (17)6.1.2 建立数据表 (17)6.1.3 建立视图 (21)6.1.4 建立索引 (23)6.1.5 建立触发器 (23)6.2数据入库............................................................. 错误!未定义书签。

数据库课程设计——图书管理系统

数据库课程设计——图书管理系统

数据库系统原理课程设计课题名称:图书信息管理系统姓名:班级:学号:指导老师:2014年 01月 02日目录1.绪论-------------------------- 41.1背景介绍------------------------------------------------------------------- 41.2开发背景的选用及介绍------------------------------------------------------- 42.需求分析---------------------- 52.1系统分析------------------------------------------------------------------- 52.2系统目标------------------------------------------------------------------- 52.3总体需求------------------------------------------------------------------- 63.概念设计阶段------------------ 63.1实体E-R图----------------------------------------------------------------- 63.2数据流程图----------------------------------------------------------------- 94.逻辑结构设计阶段------------- 104.1E-R图转换为关系模型 ------------------------------------------------------ 104.2数据字典------------------------------------------------------------------ 10 5.物理结构设计阶段------------ 125.1物理设计阶段的目标和任务-------------------------------------------------- 125.2数据存储方面-------------------------------------------------------------- 126.数据库实施与维护------------- 126.1创建数据库,数据表-------------------------------------------------------- 126.2创建视图------------------------------------------------------------------ 146.3创建索引------------------------------------------------------------------ 156.4创建触发器---------------------------------------------------------------- 156.5数据表的初始化------------------------------------------------------------ 166.6初始表的显示-------------------------------------------------------------- 18 7.数据库界面实现-------------- 207.1系统总的功能模块图-------------------------------------------------------- 207.2系统的实现---------------------------------------------------------------- 218.心得体会--------------------- 271.绪论1.1 背景介绍随着社会的发展,人们对于知识的需求也在不断地增长。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

河南理工大学课程设计报告课程名称数据库课程设计设计题目图书管理系统学生姓名学号专业班级指导教师1.需求分析 (3)2.总体设计 (4)3.数据库设计 (6)3.1.关系模式 (6)3.2.概念设计 (6)3.2.1.分实体E-R模型 (6)3.2.2.总实体E-R模型 (8)3.3.逻辑设计 (9)3.3.1.书籍表 (9)3.3.2.读者表 (9)3.3.3.管理表 (9)3.4.物理设计 (10)3.4.1.数据库的建立 (10)3.4.2.书籍表的建立 (10)3.4.3.管理表的建立 (10)3.4.4.读者表的建立 (11)4.程序模块设计 (11)4.1.用户界面设计 (11)4.2.程序代码设计 (14)5.系统使用说明 (27)5.1.用户登录 (27)5.2.读者查询 (27)1.需求分析经过实际考察、咨询和分析,图书管理系统主要应该具有以下功能模块,如1.1图。

⑴在读者信息管理部分,要求如下。

●可以浏览读者信息。

●可以对读者信息进行维护,包括修改及删除等操作。

⑵在读者查询管理部分,要求如下。

●可以查询读者的信息。

●可以对读者信息进行修改和维护。

⑶在书籍信息管理部分,要求如下。

●可以浏览书籍信息。

●可以对书籍信息进行维护,包括修改及删除等操作。

⑷在借阅信息管理部分,要求如下。

●可以浏览借阅信息。

●可以对借阅信息进行维护操作,包括借、还书,及缴纳罚款等操作。

⑸在用户信息管理部分,要求如下。

●显示当前数据库中用户情况。

●对用户信息维护操作。

图1.1 系统业务逻辑关系2.总体设计图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。

对于前者要求建立起数据一致性和完整性强、数据安全性好的库。

而对于后者则要求应用程序功能完备,易使用等特点。

系统开发的总体任务是实现各种信息的系统化,规范化和自动化。

系统开发平台需求:前台:1、硬件要求:CPU: Pentium 4 2.0GHz以上内存:512MB以上容量显卡:128MB或以上显存2、软件要求:操作系统:Microsoft Windows 2000/XP/Windows 7开发工具:Microsoft Visual Studio数据库服务器:1、硬件要求:CPU: Pentium4 2.8GHz以上内存:1024MB以上容量显卡:128MB或以上显存2、软件要求:操作系统:Microsoft Windows 2000 Server数据库服务器:Microsoft SQL 2005 Server图书馆管理信息系统需要完成功能主要有:(1). 读者基本信息的输入,包括读者编号、读者姓名。

(2).读者基本信息的查询、修改,包括读者编号、读者姓名、读者证件号等。

(3).书籍信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期。

(4).书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等。

(5).借书信息的输入,包括读者编号、书籍编号、借书日期。

(6).借书信息的查询、修改,包括读者编号、读者姓名、书籍编号、书籍名称、借书日期等。

(7).还书信息的输入,包括读者编号、书籍编号、还书日期。

(8).还书信息的查询和修改,包括还书读者编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。

(9).超期还书罚款输入,还书超出期限包括超出期限还书的读者证号,书籍编号,罚款金额。

(10).超期还书罚款查询,删除,包括读者编号、读者姓名、书籍编号、书籍名称,罚款金额等。

3.数据库设计3.1.关系模式(一)书籍(书籍编号,书籍名称,作者,出版社,出版日期)(二)读者(读者编号,读者姓名,读者证件号,读者性别,读者借书量)(三)借阅(读者编号,书籍编号,操作员号,读者借书时间)(四)还书(读者编号,书籍编号,读者还书时间)(五)管理员(管理员编号,管理员姓名,管理员证件号,管理员密码,管理员职务)(六)罚款(读者编号,读者姓名,书籍编号,读者借书时间,缴纳罚款)以上通过关系代数方法的进行运算得到所需要的结果,在实验结果中可以看到。

3.2.概念设计3.2.1分实体E-R模型1.书籍2.读者3.借阅4.还书5.管理员6.罚款3.2.2.总实体E-R图(属性略)3.3.逻辑结构设计3.3.1.书籍表3.3.2.读者表3.3.3管理员其他表的逻辑模型略3.4.物理设计3.4.1.创建数据库USE masterGOCREATE DATABASE libraryON( NAME = library,FILENAME = 'd:\library.mdf',SIZE = 10,MAXSIZE = 50,FILEGROWTH = 5 )LOG ON( NAME = 'library',FILENAME = 'd:\library.df',SIZE = 5MB,MAXSIZE = 25MB,FILEGROWTH = 5MB )GO3.4.2.书籍表的创建create table book(Book-id varint(20) primary key, Book-name varchar(30) Not null, Book-author varchar(30),Book-publish varchar(30) , Book-date datetime, bookindate datetime , isborrowed varchar (2) ,)3.4.3.管理员表c reate table clerk(clerk-id varint(20) primary key, Clerk-name varchar(30) Not null, Clerk-psw varint(20) not null,)3.4.4.读者表c reate table reader(reader-id varint(20) primary key,reader-name varchar(30) Not null,Reader-card varint(50) not null,)注:其他表的创建略,数据的导入采用已有的数据表格直接导入的。

4.程序模块设计4.1.用户界面设计前台应用程序的设计采用Microsoft Visual Studio进行设计力求做到操作简单,美观,大方,简要设计过程如下。

4.1.1.启动页面4.1.2.系统登录界面4.1.3.用户资料维护界面4.1.4.图书资料维护4.1.5.读者资料维护4.1.6.借书界面4.1.7.还书界面4.1.8.缴纳罚款界面4.1.9.读者查询界面4.2.程序代码设计4.2.1.登录界面void CLoginDlg::OnConfirm(){// TODO: Add your control notification handler code here CClerkDataSet mrsDataSet; /*声明记录集*/CString mSqlStr;UpdateData(TRUE);if (m_strName.IsEmpty()) /*判断用户名信息是否为空*/{AfxMessageBox("请输入用户名!");return;}mSqlStr = "SELECT * FROM CLERK WHERE NAME='"; mSqlStr = mSqlStr + m_strName;mSqlStr = mSqlStr + "' AND PASSWORD='";mSqlStr = mSqlStr + m_strPassword;mSqlStr = mSqlStr + "'";if (!mrsDataSet.Open(AFX_DB_USE_DEFAULT_TYPE, mSqlStr)) {AfxMessageBox("CLERK表打开失败!");return;}if (!mrsDataSet.IsEOF()){// Open all function for userm_bSuccess = TRUE;m_strUSERID = mrsDataSet.m_CLERK_ID ;CDialog::OnOK();}else{AfxMessageBox("登录失败!");m_strUSERID = _T("");return;}}void CLoginDlg::OnCancel(){// TODO: Add your control notification handler code hereCDialog::OnCancel();}4.2.2.书籍维护界面void CBookMDlg::OnEdit(){ // TODO: Add your control notification handler code here m_bEdit = TRUE;SetButtonState();SetTextState();CWnd *pWnd;pWnd = GetDlgItem(IDC_BOOKNAME);pWnd->SetFocus();}void CBookMDlg::OnEnquery(){// TODO: Add your control notification handler code hereUpdateData(TRUE);if (m_strBookIDQ.IsEmpty() && m_strBookNameQ.IsEmpty()) {m_rsDataSet.m_strFilter = "";m_rsDataSet.Requery();DisplayRecord();SetButtonState();return;}BOOL mAll = FALSE;if (!m_strBookIDQ.IsEmpty()){m_rsDataSet.m_strFilter = "BOOK_ID='" + m_strBookIDQ ;m_rsDataSet.m_strFilter = m_rsDataSet.m_strFilter + "'";mAll = TRUE;}if (!m_strBookNameQ.IsEmpty()){if (mAll){m_rsDataSet.m_strFilter = m_rsDataSet.m_strFilter + " AND BOOK_NAME='";m_rsDataSet.m_strFilter = m_rsDataSet.m_strFilter + m_strBookNameQ;m_rsDataSet.m_strFilter = m_rsDataSet.m_strFilter + "'";}else{m_rsDataSet.m_strFilter = "BOOK_NAME='" + m_strBookNameQ;m_rsDataSet.m_strFilter = m_rsDataSet.m_strFilter + "'";}}m_rsDataSet.Requery();DisplayRecord();SetButtonState();}void CBookMDlg::OnExit(){// TODO: Add your control notification handler code here CDialog::OnCancel();}void CBookMDlg::OnFirst(){ // TODO: Add your control notification handler code here if(!m_rsDataSet.IsBOF()){ m_rsDataSet.MoveFirst();DisplayRecord();SetButtonState();}}void CBookMDlg::OnLast(){// TODO: Add your control notification handler code here if(!m_rsDataSet.IsEOF()){m_rsDataSet.MoveLast();DisplayRecord();SetButtonState();}}void CBookMDlg::OnNew(){// TODO: Add your control notification handler code here m_strBookID = "";m_strBookName = "";m_strAuthor = "";m_strPress = "";m_strPressDate = "";m_strFlag = "Y";// m_cntrPosition.UpdateData(FALSE);m_bEdit = TRUE;m_bAdd = TRUE;SetButtonState();SetTextState();CWnd *pWnd;pWnd = GetDlgItem(IDC_BOOKID);pWnd->SetFocus();}void CBookMDlg::OnNext(){// TODO: Add your control notification handler code here if(!m_rsDataSet.IsEOF()){m_rsDataSet.MoveNext();DisplayRecord();SetButtonState();}}void CBookMDlg::OnPrior(){// TODO: Add your control notification handler code here if(!m_rsDataSet.IsBOF()){ m_rsDataSet.MovePrev();DisplayRecord();SetButtonState();}}void CBookMDlg::OnSave(){// TODO: Add your control notification handler code here COleDateTime dt;UpdateData(TRUE);if (m_strBookID.IsEmpty() || m_strBookName.IsEmpty()) {AfxMessageBox("请输入相应数据!");return;}if (m_bAdd){m_rsDataSet.AddNew();}else{m_rsDataSet.Edit();}m_rsDataSet.m_AUTHOR = m_strAuthor;m_rsDataSet.m_BOOK_NAME = m_strBookName;m_rsDataSet.m_BOOK_ID = m_strBookID;m_rsDataSet.m_PRESS = m_strPress;m_rsDataSet.m_FLAG_BORROW = m_strFlag;if (m_strPressDate.Find("-") <=0 ){AfxMessageBox("日期格式不正确!");return;}dt.ParseDateTime( _T(m_strPressDate));SYSTEMTIME st;dt.GetAsSystemTime(st);CTime tm(st);m_rsDataSet.m_PRESS_DA TE = tm;m_rsDataSet.m_FLAG_BORROW = "Y";m_rsDataSet.Update();m_rsDataSet.Requery();m_bAdd = FALSE;m_bEdit = FALSE;DisplayRecord();SetButtonState();SetTextState();}BOOL CBookMDlg::DisplayRecord(){if (m_rsDataSet.IsEOF() && m_rsDataSet.IsBOF()) {m_strBookID = "";m_strBookName = "";m_strPress = "";m_strPressDate = "";m_strAuthor = "";m_strFlag = "";}else{if (m_rsDataSet.IsBOF()){m_rsDataSet.MoveNext();else{if (m_rsDataSet.IsEOF()){m_rsDataSet.MovePrev();}}m_strBookID = m_rsDataSet.m_BOOK_ID;m_strBookName = m_rsDataSet.m_BOOK_NAME;m_strPress = m_rsDataSet.m_PRESS;m_strAuthor = m_rsDataSet.m_AUTHOR ;m_strFlag = m_rsDataSet.m_FLAG_BORROW ;m_strPressDate= m_rsDataSet.m_PRESS_DA TE.Format(_T("%Y-%m"));}UpdateData(FALSE);return TRUE;}BOOL CBookMDlg::SetTextState(){CWnd *pWnd;if (m_bEdit){pWnd = GetDlgItem(IDC_BOOKNAME);pWnd->EnableWindow(TRUE);pWnd = GetDlgItem(IDC_BOOKID);if (m_bAdd)pWnd->EnableWindow(TRUE);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_AUTHOR);pWnd->EnableWindow(TRUE);pWnd = GetDlgItem(IDC_PRESS);pWnd->EnableWindow(TRUE);pWnd = GetDlgItem(IDC_PRESSDATE);pWnd->EnableWindow(TRUE);pWnd = GetDlgItem(IDC_FLAG_BORROW);pWnd->EnableWindow(TRUE);}else{pWnd = GetDlgItem(IDC_BOOKNAME);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_BOOKID);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_AUTHOR);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_PRESS);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_PRESSDATE);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_FLAG_BORROW);pWnd->EnableWindow(FALSE);}pWnd = GetDlgItem(IDC_BOOKNAME_Q); pWnd->EnableWindow(TRUE);pWnd = GetDlgItem(IDC_BOOKID_Q);pWnd->EnableWindow(TRUE);}BOOL CBookMDlg::SetButtonState(){CWnd *pWnd;if(!m_rsDataSet.IsOpen()){pWnd = GetDlgItem(IDC_FIRST);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_NEXT);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_PRIOR);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_LAST);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_NEW);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_EDIT);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_ENQUERY);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_DELETE);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_SA VE);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_CANCEL_REC);pWnd->EnableWindow(FALSE);return TRUE;if (m_bEdit){pWnd = GetDlgItem(IDC_FIRST);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_NEXT);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_PRIOR);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_LAST);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_NEW);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_EDIT);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_ENQUERY);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_DELETE);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_SA VE);pWnd->EnableWindow(TRUE);pWnd = GetDlgItem(IDC_CANCEL_REC);pWnd->EnableWindow(TRUE);return TRUE; }if (m_rsDataSet.IsBOF()){pWnd = GetDlgItem(IDC_FIRST);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_PRIOR);pWnd->EnableWindow(FALSE);}{pWnd = GetDlgItem(IDC_FIRST);pWnd->EnableWindow(TRUE);pWnd = GetDlgItem(IDC_PRIOR);pWnd->EnableWindow(TRUE);}if (m_rsDataSet.IsEOF()){pWnd = GetDlgItem(IDC_NEXT);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_LAST);pWnd->EnableWindow(FALSE);}else{pWnd = GetDlgItem(IDC_NEXT);pWnd->EnableWindow(TRUE);pWnd = GetDlgItem(IDC_LAST);pWnd->EnableWindow(TRUE);}if (m_rsDataSet.IsBOF() && m_rsDataSet.IsEOF()) {pWnd = GetDlgItem(IDC_EDIT);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_DELETE);pWnd->EnableWindow(FALSE);} else {pWnd = GetDlgItem(IDC_EDIT);pWnd = GetDlgItem(IDC_DELETE);pWnd->EnableWindow(TRUE); }pWnd = GetDlgItem(IDC_NEW);pWnd->EnableWindow(TRUE);pWnd = GetDlgItem(IDC_ENQUERY);pWnd->EnableWindow(TRUE);pWnd = GetDlgItem(IDC_SA VE);pWnd->EnableWindow(FALSE);pWnd = GetDlgItem(IDC_CANCEL_REC);pWnd->EnableWindow(FALSE);return TRUE;}BOOL CBookMDlg::OnInitDialog() {CDialog::OnInitDialog();// TODO: Add extra initialization herem_bAdd = FALSE;m_bEdit = FALSE;if (!m_rsDataSet.Open(AFX_DB_USE_DEFAULT_TYPE))AfxMessageBox("数据打开失败!");DisplayRecord();SetButtonState();SetTextState();return TRUE; // return TRUE unless you set the focus to a control// EXCEPTION: OCX Property Pages should return FALSE}注:其他相关页面和书籍页面代码基本类似,做简要修改即可,此处省略!5.系统使用说明5.1.管理员登录5.1.1.创建数据库连接通过SQL SERVER把library数据库文件附加到数据库引擎中,建立ODBC数据库数据源,打开登录页面即可登录!管理员分为三个级别,馆长:黄彦祥,密码:123456,主任:朱海,密码:123馆员:李亚兰,密码:123分别登录可以完成对系统的维护及操作。

相关文档
最新文档