高校图书管理系统
论文 关键词 C/S SQL2000 数据库 V
论文摘要:本文完成了一个基于 Client/Server 模式的高校图书管理系统的设计与实
现。运用 Visual 结合 Microsoft SQL Server 2000 开发的登录模块主要用于验证
用户身份,进行有效的操作。从主界面模块在验证后进入每个子模块进行各个子系统的具
体功能操作。在整个系统设计中充分利用了模块化的设计思想和开发方法。 第 1 章 问
题描
图书管理系统简介
本系统利用 处理数据库的功能,实现对图书馆信息的管理。主要功能为管理
有关读者、出版社、书籍、借阅和管理者的信息等
本系统的结构分为读者信息管理模块、出版社信息管理模块、书籍信息管理模块、借
阅信息管理模块、管理者管理信息模块、报表显示模块和查询处理模块
数据需求
根据系统的需求,首先将要记录的信息分类,要记录的信息如下
= 1 \* GB2 ⑴读者信息:包括证号、姓名、联系方式、已借书数目、读者类别和能
否借书等
= 2 \* GB2 ⑵出版社信息:包括名称、地址、网址、E-mail 等
= 3 \* GB2 ⑶书籍信息:包括书号、丛书系列、作者、责任编辑、字数、定价、出
版时间、主题分类、二级分类、馆内借阅分类、总册数、库存量、出版社和书名等
= 4 \* GB2 ⑷借阅信息:包括借阅日期、应归还日期、实际归还日期、能否续借、
书号和证号等
= 5 \* GB2 ⑸管理者信息:包括管理者名称、对应密码和对应权限等
根据这些需要,本系统需要“读者信息”表,“出版社信息”表,“书籍信息”表,“借阅信
息”表和“管理者信息”表
事务需求
经过实际考察、咨询和分析,高等院校图书管理系统主要应该具有以下功能模块,如
图
= 1 \* GB2 ⑴在读者信息管理部分,要求如下
可以浏览读者信息
可以对读者信息进行维护,包括添加及删除等操作
= 2 \* GB2 ⑵在出版社信息管理部分,要求如下
可以浏览出版社信息
可以对出版社信息进行维护,包括添加及删除等操作
= 3 \* GB2 ⑶在书籍信息管理部分,要求如下
可以浏览书籍信息
可以对书籍信息进行维护,包括添加及删除等操作
= 4 \* GB2 ⑷在借阅信息管理部分,要求如下
可以浏览借阅信息
可以对借阅信息进行维护操作
= 5 \* GB2 ⑸在管理者信息管理部分,要求如下
显示当前数据库中管理者情况
对管理者信息维护操作
SHAPE \* MERGEFORMAT
图 1-1 系统业务逻辑关
系统开发平台
前台
1、硬件要求
CPU: Pentium 4 以上 IBM 兼容
内存:512MB 以上容
显卡:32MB 或以上显存之 AGP 接口显
2、软件要求
操作系统:Microsoft Windows 2000/X
开发工具:Microsoft Visual
数据库服务器
1、硬件要求
CPU: Pentium4 以上 IBM 兼容
内存:1024MB 以上容
显卡:32MB 或以上显存之 AGP 接口显
2、软件要求
操作系统:Microsoft Windows 2000 Serve
数据库服务器:Microsoft SQL 2000 Serve
网络 设备
2 块网卡:客户机 D-Link DFE-650TX,服务器 Intel PCLA8460B
路由器:一台 SOHO 路由器 TL-R402
网络拓扑结构
本设计采用客户机/服务器(C/S)体系,数据的储存管理功能较为透明性,可以合
理均衡事务的处理,充分保证数据的完整性和一致性
SHAPE \* MERGEFORMAT
图 C/S 模式结
第 2 章 设计与实现
数据库主要着重于数据对象的属性和数据对象之间的关系的分析。一般采用 E-R 图,
即实体-关系模型来分析数据对象的属性和数据对象之间的关系
系统流程图
在本系统中准备通过如下窗体来实现数据维护的功能
(1) 主窗体:管理着各个子窗体
(2)“读者信息”子窗体:管理读者信息
(3)“管理者信息”子窗体:管理用户信息
(4)“出版社信息”子窗体:管理出版社信息
(5)“书籍信息”子窗体:管理书籍信息
(6)“借阅信息”子窗体:管理借阅信息
(7)“报表窗体”子窗体:显示数据报表
(8)“综合查询”子窗体:执行用户自定义的查询
系统流程图如图 所示
图 系统流程
E-R 模型设计
实体列
实
描
读
所有借阅者,查阅者,由证件号标
出 版
图书馆所有图书所属出版社,由出版社编号标
书
图书馆所有图书,由刊号标
借
书号、证号、借阅日期、应归还日期等属性,由方式标
系统管理
系统维护人
系统的 E-R 模
该图书管理系统的 E-R 模型,如下图所
图 图书管理系统 E-R
设计数据库
创建数据
(1)在服务器资源管理器中的任一节点右击
(2)执行快捷菜单中的“新建数据库”命令,并在打开的“创建数据库”对话框中输入数据库
名 Library,选中“使用 WindowsNT 集成安全性”单选按钮
(3)单击“确定”按钮,则新建的数据库就会出现在服务器上
创建数据
创建数据库后,为 Library 数据库添加数据表,步骤如下
(1)在服务器资源管理器中右击数据库 Library 下的“表”文件夹。在弹出的快捷菜单中执
行“新建表”命令,出现表设计器
(2)添加表的字段和其他详细资料。各表数据结构如下表所示
表 2-1 出版社信
列
数据类
长
主
出版社名
varcha
5
Ye
出版社地
varcha
5
网
cha
5
E-mai
cha
5
表 2-2 读者信
列
数据类
长
主
证
in
Ye
姓
varcha
2
联系方
varcha
5
已借书数
in
读者类
in
能否借
bi
密
varcha
列
数据类
长
主
书
cha
1
Ye
证
in
Ye
借阅日
datetim
应归还日
datetim
实际归还日
datetim
续
bi
表 2-4 书籍信
列
数据类
长
主
书
cha
1
Ye
丛书系
ncha
5
作
ncha
5
责任编
ncha
5
字
in
定
mone
出版时
datetim
主题分
ncha
5
二级分
cha
5
馆内借阅分
in
总册
in
库存
in
出版
varcha
5
书
varcha
5
表 2-5 管理者信
列
数据类
长
主
用户名
cha
2
Ye
密
cha
2
权
in
连接数据
为数据库 Library 和本系统之间建立一个数据连接
(1)在服务器资源管理器中右击“数据连接”节点。在弹出的快捷菜单中执行“添加连接”
命令,打开 Data Link Properties 对话框。切换到 Provider 选项卡,选中列表框中的
Microsoft OLE DB Provider for SQL Server 项。单击“下一步”切换到 Connection 选项卡
(2)在其中的第一个下拉列表框中选择数据库所在服务器名称。输入登录服务器信息后
选择数据库 Library,然后单击 Test Connection 按钮。如果测试成功,单击“确定”按钮
主窗体设计
创建一个新的“Windows 应用程序”类型的项目,名为“图书馆管理”。将默认创建的窗
体命名为“主窗体”,把“主窗体”作为本系统中的主界面
在窗体中添加两个 Pannel 控件,7 个 Button 控件和 7 个 Linklabel 控件
设计登录界
设计登录界面,创建一个新的”Windows 窗体”,名为登录,作为本系统的登录界面.在登录
窗体上添加两个 Label 控件,两个 Button 控件和两个 TextBox 控件,添加控件后的窗体如图
所示
添加数据组
在工具箱中单击“数据”选项卡,添加 OleDbDataAdapter 组件
(1)在工具箱中单击 OleDbDataAdapter 组件,在窗体任意位置拖动出一个虚框矩形后
释放左键弹出“数据适配器配置向导”对话框
(2) 单击“下一步”,在打开的对话框中选择前面建好的数据连接,然后单击“下一步”
(3)选中“使用 SQL 语句”,然后单击“下一步”进入“生成 SQL 语句”对话框
(4)在其中的多行文本框直接输入 SQL 语句“SELECT 管理者信息.* FROM 管理者信息”
(5)单击“下一步”按钮,进入“查看向导结果”,单击“完成”按钮完成数据适配器配置
配置数据适配器后,在主窗体上就会自动添加一个 OleDbConnection 控件
生成数据
生成数据集的步骤如下
(1)单击 OleDbDataAdapter 控件“属性”对话框中的“生成数据集”链接,打开“生成数据集”
对话框
(2)在其中选中“新建”单选按钮,并在其后面的文本框中输入“Lib 管理者信息”
(3)在“选择要添加到数据集中的表”列表框中列出了前面添加的 OleDbDataAdapter 组
件所连接的表,选中该表名前面的复选框
(4)选中“将此数据集添加到设计器”复选框,单击“确定”按
这样,将生成一个名称为“Lib 管理者信息”的数据集,该数据集以文件形式存储,文件名为
“Lib 管理者信息.xsd”。而在项目中,添加了一个 DataSet 组件,名为“objLib 管理者信息”
在解决方案资源管理器中右击该项目,在弹出快捷菜单中单击“属性”菜单项。在打开
的“属性页”对话框中的“启动对象”下拉列表框中选择“主窗体”选项。单击“确定”按钮,这样
该项目启动时,就会从主窗体开始启动
设计代
在程序运行过程中,如果想通过单击 LinkLabel 控件或 Button 控件进入系统中的各个
功能模块(如显示读者信息等),就会弹出一个对话框要求输入用户名和密码.单击"确认"按钮
,程序就会到数据库的"管理者信息"表中查找该用户名和密码是否存在.如果存在,允许进入
功能模块
完成登录功能的主要代码集中在 UserCheck 函数中.在程序运行过程中,在登录窗体的"
用户姓名"和"用户密码"文本框中输入用户名和密码后,单击"确认"按钮就会触发
UserCheck 函数并执行其中的代码.如果 UserCheck 函数返回 True,那么允许用户的操作;否
则拒绝用户的操作请求
在 UserCheck 函数中首先定义 Login 类型的变量 dlg_Login,然后通过 ShowDialog 方法
来显示登录窗体.如果用户在登录窗体中输入用户姓名和密码,并且单击了"确认"按钮,那么
自动调用一个自定义函数 LoadDataSet(),由此函数进行数据加载.如果出错,显示错误信息,
回滚整个事务
读者信息
在当前项目中添加一个“Windows 窗体”,将窗体命名为“读者信息”
设计显示界
在窗体上添加 1 个 GroupBox 控件,9 个 Button 控件,5 个 TextBox 控件,1 个
CheckBox 控件和 7 个 Label 控件
各按钮控件是为了执行相应的操作。各 TextBox 控件和 CheckBox 控件用来显示数据
集中的数据,这个功能通过设置 DataBindings 属性来实现
添加数据组
向窗体添加 OleDbConnection 组件,命名为 OleDbConnection1 后将其选中,在“属性
”对话框的 ConnectionString 栏单击,选择所建数据库 Library
添加 OleDbDataAdapter 组件和生成数据集的方法步骤如 及
设置各 TextBox 控件的 DataBinding 属性来实现对数据集中数据的显示(以 Edit 证号为
例)
(1)选中“Edit 证号”控件单击“属性”对话框
(2)单击 DataBinding 属性前面的+号打开该属性的详细列表
(3)设置 Text 属性:在该属性后面栏中单击并选择所对应字段
(4)设置其他 TextBox 控件的 DataBinding 属性
功能实
显示数据,添加读者,保存更改,记录定位的实现
“管理者信息”,“出版社信息”,“书籍信息”,“借阅信息”和该模块的设计思路及方法步
骤完全一致,在此从略
显示报表
在当前项目中添加一个“Windows 窗体”,命名为“报表窗体”,该模块显示当前数据库
中读者信息和借阅信息的报表
在程序运行中,如果单击“读者信息”菜单项,就会自动在窗体上显示“读者信息报表
.rpt”:如果单击“借阅信息”命令就会自动在窗体上显示“借阅信息报表.rpt”报表
添加读者信息报
(1)在开发环境中选择菜单“项目”中的“添加新项”对话框中选择 Crystal Report 选项
(2)在“名称”文本框中输入报表名“读者信息报表.rpt”,单击“打开”按钮,就会弹出入图
所示的“Crystal Report 库”对话框
(3)在其对话框中选择“使用报表专家”单选按钮,在“选择专家”列表框中选择“标准”选项
,单击“确定”按钮,进入下一步
(4)在弹出的“标准报表专家”对话框中,选择“可用的数据源”列表框中的 OLB DB(ADO)
选项,就会弹“OLE DB(ADO)”对话框。选择 OLB DB 提供程序为 Microsoft OLE DB Provider
for SQL Server,单击“下一步”按钮,显示 “连接信息”对话框
(5)在其中设置连接信息,单击“完成”按钮,返回“标准报表专家”对话框
(6)选择数据源为 OLE DB(ADO)中的 Library 数据库,并且选中其中的“读者信息”表。单
击“插入表”按钮,把“读者信息”表插入到报表中,单击“下一步”按钮
(7)在“字段”选项卡中单击“全部添加”按钮,把“读者信息”表中的所有字段添加到报表中
,单击“完成”按钮就完成报表的设计
设计完成的“读者信息报表”如图所示
添加借阅情况报
添加借阅情况报表的过程与添加读者信息报表过程大致相同,不同之处在于插入到报
表中的数据表为“读者信息”
综合查询的实现
在程序运行过程中,单击主窗体的“综合查询”按钮,就会弹出一个对话框。在其中设
置查询条件,根据查询条件从记录集中筛选出所需记录
为此需要在项目中添加一个窗体“综合查询”
还需要设置“CmbBox 运算符”控件的 Items 属性。单击窗体上“CmbBox 运算符”控件,然后
在“属性”对话框中单击 Items 栏,就会出现一个按钮,单击按钮,在打开的窗口中如图
所示设置字符串集合编辑器字符串
SHAPE \* MERGEFORMAT
图 所示设置字符串集合编辑
设置完毕,单击确定按钮
添加数据组
在窗体上添加一个 OleDbDataAdapter 组件,使用数据适配器配置向导对其进行配置
。选择数据连接后输入 SQL 语句“SELECT 出版社信息.* FROM 出版社信息”
同样再为窗体添加四个 OleDbDataAdapter 组件
在"生成 SQL 语句"对话框的多行文本框中分别输入 SQL 语句“SELECT 读者信息.*
FROM 读者信息”, “SELECT 管理者信息.* FROM 管理者信息” ,“SELECT 借阅信息.*
FROM 借阅信息”, “SELECT 书籍信息.* FROM 书籍信息” ,然后单击“完成”按钮,Name
属性分别设置为 OleDbDataAdapter2,OleDbDataAdapter3,OleDbDataAdapter4,
OleDbDataAdapter5 完成数据适配器的配置
生成数据集的步骤如下
(1)在 OleDbDataAdapter1 组件的“属性”对话框中单击“生成数据集”超链接,打开“生成
数据集”对话框,选中“新建”按钮并在后面文本框中输入“Lib 综合查询”
(2)在“选择要添加到数据集中的表”列表框中,选中 5 个表前面的复选框
(3)选中“将此数据集添加到设计器”复选框,单击“确定”按钮
这样,将生成一个名称为“Lib 综合查询”的数据集,该数据集以文件的形式存储,文件
名为“Lib 综合查询.xsd”。而在项目中,添加一个 DataSet 组件,名称为“objLib 综合查询”
设计完成的数据集如图 所示
图 综合查询数据
第 3 章系统测
开发与测试环境
本系统使用 语言进行开发。需要 Microsoft .NET Framework SDK
的支持。适用内存不低于 256M 配备有 Windows2000,Windows2003,WindowsXP
系统的 计算 机
程序调试情况
在数据连接时一定要注意窗体和相应显示控件的绑定关系。在把系统从一台计算机移
植到另一台计算机时一定要把数据文件 和 同时移植,并对相应
的提供服务的 SQL Server 服务器进行相应的修改,否则数据正确连接并显示
功能显示
运行程序后首先显示主窗体,如图 所示
图 主界
单击“输入/查看读者信息”,就会弹出如图 所示登录框
SHAPE \* MERGEFORMAT
图 登录界
在登录对话框中输入用户姓名和密码,单击“确认”按钮,就会对用户身份进行认证,
如果认证通过,那么就会弹出如图 所示的读者信息管理窗体
图 读者信息管理窗
在“读者信息”窗体中可以对读者信息进行维护操作,例如浏览读者信息,添加记录和
删除记录等
单击“输入/查看书籍信息”,就会显示“书籍信息”窗体,在该窗体中可以对书籍信息进
行维护操作。书籍信息维护窗体如图 所示
图 书籍信息窗
单击“输入/查看借阅信息”,就会显示“借阅信息”窗体,在该窗体中可以对出版社信息
进行维护操作。出版社信息维护窗体如图所示
图 借阅信息窗
单击“输入/查看出版社信息”,就会显示“出版社信息”窗体,在该窗体中可以对借阅信
息进行维护操作。借阅信息维护窗体如图 所示
图 出版社信息窗
单击“输入/查看管理者信息”,结果如图 所示
图 管理者信息窗
在主窗体上单击“显示报表”,那么就可以查看反映读者信息和借阅信息的报表,借阅
信息的报表如图所示
SHAPE \* MERGEFORMAT
图 报表窗
如果用户在运行的主窗体上单击“综合查询”,那么就可以查看针对不同的数据表进行
查询操作。选择查询依据为“出版社信息”表查看其中的所有信息,结果如图 所示
SHAPE \* MERGEFORMAT
图 综合查询窗
结论
在这个系统的开发过程中,值得注意的几点有
(1)数据报表的实现.报表是数据库应用程序的重要组成部分,通过报表,可以把数据库中
内容经过组织以后生动地展示给用户, 提供的 Crystal Report 可以大大提高报表的
设计效率
(2)复杂查询的实现。在程序运行过程中,单击窗体中的“综合查询”按钮,就会弹出一
个对话框,在该对话框中设置查询条件,根据查询条件从记录集中筛选出所需记录,所指
定的查询条件包括查询的依据,排序的依据,运算符等等
第 4 章 结束语
通过做课程设计,有几点感想,归纳如下
1. 扎实的理论基础。如果不掌握它们,很难写出高水平的程序。而这一点又是我们所
缺乏的。
2. 不钻牛角尖。当遇到障碍的时候,暂时远离电脑,当重新开始工作的时候,也许会
发现那些难题现在竟然可以迎刃而解。
3. 多与别人交流。三人行必有我师
4. 良好的编程风格。注意养成良好的习惯,代码的缩进编排,变量的命名规则要始终
保持一致。如果注释和代码不一致,那就更加糟糕
最后,特别要感谢老师在软件工程和数据库课程中认真负责的教学,才使得我能结合
所学的知识完成这一课程设计
参考 文献
1 萨师煊,王珊,数据库系统概论(第三版). 北京:高等 教育 出版社,200
2 齐治昌,谭庆平,宁洪,软件工程(第二版).北京:高等教育出版社,200
3 David ,Visual 编程导论. 电子 工业 出版社,200