毕业设计(论文)-基于CS结构的图书管理系统的开发与设计

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

基于C/S结构的图书管理系统的开发与设计
[摘要]图书馆作为提供学习的场所,不仅要求便于管理,而且要求给读者和借阅者提供方便快速的查找、借阅和登记手续。

以前的图书管理中心进行信息管理主要是基于手工处理,信息处理工作量大,容易出错,缺乏系统、规范的信息管理手段。

在计算机普及的今天,利用电脑来简化和方便我们的工作也不再少见,而图书管理系统只是其中一个小小的应用,利用这个系统来管理图书馆图书的借阅工作,可以非常容易和快捷的对整个流程进行很好的控制和管理,并且简化了工作的困难度和节省了人力资源。

鉴于市场上对这样的管理软件的大量需求和应用,选择了本题目。

由于本系统一般是在局域网中使用,所以本系统采用C/S架构进行开发,图书馆的工作人员使用的每台电脑都需要配置该管理软件,同时,需要一台数据库服务器提供数据处理的服务,开发语言选择C#,后台数据库服务器选择SQL Server 2005。

[关键词]图书管理系统C/S C# SQL Server
Based on C / S structure of the library management system
development and design
[Abstract] The library as a place of learning, not only the requirement of the management, and the requirement to the reader and library provide convenient fast search, borrow and registration procedures.
The previous Library Management Center for information management is mainly based on manual processing, information processing workload, prone to error, lack of systematic, standardized information management tools. Popular in the computer today, the use of computers to simplify and facilitate our work is not uncommon, and the book management system is a small application, use this system to manage the library to borrow books, can be very easy and fast for the whole process very good control and management, and simplified the work difficulty and save human resources. In view of the market for such a management software for large demand and application, the choice of this topic.
Because the system is generally used in LAN, so this system adopts C / S architecture development, the library staff in the use of each computer will need to configure the management software, at the same time, need a database server provides the data processing services, development language C # background database server, select SQL Server 2005.
[Key Words] Library Management System C/S C# SQL Server
[目录]
第一章绪论 (1)
1.1引言 (1)
1.2 项目开发意义 (1)
第二章技术概述 (3)
2.1 .NET框架介绍 (3)
2.2 C#介绍 (3)
2.3 Visual Studio 2010介绍 (3)
2.4 SQL Server 2005介绍 (4)
2.5 C/S结构 (4)
第三章系统设计 (6)
3.1 系统分析 (6)
3.2 系统开发思想 (7)
3.3 系统配置 (8)
3.4 系统功能模块设计 (8)
3.5 数据库设计 (11)
第四章系统实施 (16)
4.1 系统模块 (20)
4.2 图书信息管理模块 (23)
4.3 借书管理模块 (25)
第五章结论 (28)
第六章致谢 (29)
第七章参考文献 (30)
第一章绪论
1.1引言
一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉。

在计算机尚未在图书馆广泛使用之前,借书和还书过程主要依靠手工。

一个最典型的手工处理还书过程就是:读者将要借的书和借阅证交给工作人员,工作人员将每本书上附带的描述书的信息的卡片和读者的借阅证放在一个小格栏里,并在借阅证和每本书贴的借阅条上填写借阅信息。

这样借书过程就完成了。

还书时,读者将要还的书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填好相应的还书信息,这样还书过程就完成了。

以上所描述的手工过程的不足之处显而易见,首先处理借书、还书业务流程的效率很低,其次处理能力比较低,一段时间内,所能服务的读者人数是有限的。

在计算机普及的今天,我们可以使用计算机来代替人工处理借阅图书的工作,这时候就需要一个功能完善的图书管理系统。

图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前台应用程序的开发两个方面。

一方面要求建立起数据一致性和完整性强、数据安全性好的数据库;另一方面则要求应用程序具有功能完备,易使用等特点。

图书馆需要统一图书的管理,对各类书籍的借阅情况和图书馆现有藏书的数量、种类要及时掌握,这就要求它具有很强的时效性。

既要减少旧书和大量重复的图书占用有限的空间而又要尽力做到图书种类的齐全,作为图书馆的管理人员需要及时的对图书进行上架和注销处理。

同时,使用该程序之后,读者可以查阅并修改自己的信息、修改密码、查阅借阅情况、搜索图书;系统管理员可以进行读者维护、图书维护、图书搜索;
图书馆管理人员可以进行图书的借阅与归还。

1.2 项目开发意义
本次毕业设计题目:“图书管理系统”主要目的是利用数据库软件编制一个管理软件,用以实现图书、读者以及日常工作等多项管理。

同时对整个系统的分析、设计过程给出
一个完整论证。

本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。

本系统的设计主要从以下几方面做起:系统业务流程分析、系统的功能设计、系统的数据库结构设计等。

作这些工作需对数据库知识有足够认识,并深入的了解C#的使用和管理系统的相关知识。

第二章技术概述
本系统使用的开发框架是.NET,开发语言是C#,开发工具为Visual Studio 2010,数据库管理软件是Microsoft SQL Server 2005。

2.1 .NET框架介绍
.NET框架主要包括公共语言运行库(Common Language Runtime CLR)和.NET框架类库(FCL)。

CLR(公共语言运行库),其主要作用是为我们定位、加载和管理.NET类型,同时也负责一些低层细节的工作,如内存管理,创建应用程序域、线程和对象上下文边界,安全检查等。

另外,它的最终目的是让用户在任何地方、任何时间,以及利用任何设备都能访问所需的信息、文件和程序。

2.2 C#介绍
C#是一种面向对象的编程语言,是.NET框架下的主推语言,C#既保持了C++中熟悉的语法,并且包含了大量的高效代码和面向对象特征。

C#语言将在保持c/c++灵活性的基础上位程序员带来更高效的RAD开发方式。

它不仅能用于WEB服务程序的开发,并且还能开发强大的系统级程序。

2.3 Visual Studio 2010介绍
Visual Studio是微软公司推出的开发环境。

是目前最流行的Windows平台应用程序开发环境。

Visual Studio 2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。

Visual Studio 2010同时带来了NET Framework 4.0、Microsoft Visual Studio 2010 CTP( Community Technology Preview--CTP),并且支持开发面向Windows 7的应用程序。

Microsoft Visual Studio 2010 采用拖曳式便能完成软件的开发。

简简单单的操作便可以实现一个界面的生成。

但拖曳的界面,也应当有相应的代码来实现功能。

Microsoft Visual Studio 2010支持C#、C++ 、VB。

可以快速实现相应的功能。

2.4 SQL Server 2005介绍
SQL Server 2005是一个关系数据库管理系统它是由Microsoft推出的。

它是一个具备完全Web 支持的数据库产品,提供了对可扩展标记语言(XML) 的核心支持以及在Internet 上和防火墙外进行查询的能力,提供了以Web 标准为基础的扩展数据库编程功能。

丰富的XML 和Internet 标准支持允许使用内置的存储过程以XML 格式轻松存储和检索数据。

SQL Server 2005 是一个全面的数据库平台,使用集成的商业智能(BI) 工具提供了企业级的数据管理。

SQL Server 2005 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。

SQL Server 2005 数据引擎是本企业数据管理解决方案的核心。

此外SQL Server 2005 结合了分析、报表、集成和通知功能。

这使您的企业可以构建和部署经济有效的BI 解决方案,帮助您的团队通过记分卡、Dashboard、Web services 和移动设备将数据应用推向业务的各个领域。

2.5 C/S结构
C/S(客户机/服务器),服务器是网络的核心,而客户机是网络的基础,客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源。

这里客户和服务器都是指通信中所涉及的两个应用进程(软件)。

使用计算机的人是计算机的“用户”(user)而不是“客户”(client)。

但在许多国外文献中,也经常把运行客户程序的机器称为client(这种情况下也可把client译为“客户机”),把运行服务器程序的机器称为server。

所以有时要根据上下文判断client与server是指软件还是硬件。

C/S结构的优点:
(1)应用服务器运行数据负荷较轻。

(2)数据的储存管理功能较为透明。

(3)C/S架构的劣势是高昂的维护成本且投资大。

C/S结构的缺点:
C/S结构的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。

对应的优点就是客户端响应速度快。

缺点主要有以下几个:而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。

这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的
数据。

客户端需要安装专用的客户端软件。

首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。

还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。

(大多数没法自动升级而需要人工升级)对客户端的操作系统一般也会有限制。

可能适应于Windows 98,但不能用于Windows 2000或Windows XP。

或者不适用于微软新的操作系统等等,更不用说Linux、Unix等。

第三章系统设计
3.1 系统分析
图书管理系统的要求如下:
1、需求分析:
在图书管理系统中,管理员要为每个读者建立借阅账户,并給读者发放不同类别的借阅卡(借阅卡可提供卡号、读者姓名),账户内存储读者的个人信息和借阅记录信息。

持有借阅卡的读者可以通过管理员(作为读者的代理人与系统交互)借阅、归还图书,不同类别的读者可借阅图书的范围、数量和期限不同,可通过互联网或图书馆内查询终端查询图书信息和个人借阅情况,以及续借图书(系统审核符合续借条件)。

借阅图书时,先输入读者的借阅卡号,系统验证借阅卡的有效性和读者是否可继续借阅图书,无效则提示其原因,有效则显示读者的基本信息(包括照片),供管理员人工核对。

然后输入要借阅的书号,系统查阅图书信息数据库,显示图书的基本信息,供管理员人工核对。

最后提交借阅请求,若被系统接受则存储借阅纪录,并修改可借阅图书的数量。

归还图书时,输入读者借阅卡号和图书号(或丢失标记号),系统验证是否有此借阅纪录以及是否超期借阅,无则提示,有则显示读者和图书的基本信息供管理员人工审核。

如果有超期借阅或丢失情况,先转入过期罚款或图书丢失处理。

然后提交还书请求,系统接受后删除借阅纪录,并登记并修改可借阅图书的数量。

图书管理员定期或不定期对图书信息进行入库、修改、删除等图书信息管理以及注销(不外借),包括图书类别和出版社管理。

为系统维护人员提供权限管理、数据备份等通用功能。

对上述需求分析做出如下总结:(1)图书的基本操作
图书的基本情况包括了对于书籍的录入、修改、删除等基本操作:
a、制定书籍类别标准,输入类别信息,既类别编号、类别名称、关键词、备注信息等。

b、查询、修改书籍类别信息、既类别编号、类别名称、关键词、备注信息等。

c、输入书籍信息,既书籍编号、书籍名称、书籍类别、作者名称、出版社名称、出版日期、关键词、登记日期、备注信息等。

(2)借书功能
借书功能是对书籍和读者的管理,实现了图书的基本运行功能,它包括了两个方面的内容:
a、输入借书信息,既借书信息编号,读书编号,读者姓名,书籍编号,书籍名称,借书日期,备注信息等。

b、查询,修改借书信息,既借书信息编号,读者编号,读者姓名,书籍编号,书籍名称,借书日期,备注信息等。

(3)还书功能
还书信息功能和借书信息功能有类似的地方,它也包括了两个方面的内容:
a、输入还书信息,既还书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期、备注信息等。

b、查询和修改,既还书信息编号、读书编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期、备注信息等。

2、系统性能要求:
(1)系统安全、可靠;
(2)功能齐全;
(3)操作方便、界面友好;
(4)易于维护和扩充。

3、面向的用户群体
本系统的最终用户有三种:一是管理员(图书管理员和其它管理人员),他们可以删除图书信息、删除或增加学生信息等;二是读者(老师和同学等),可以查看他们的借阅信息。

他们都具有一定的计算机应用基础,可以比较熟练操作计算机;三是系统维护人员为计算机专业人员,熟悉数据库、操作系统、网络维护工作。

管理员和读者都是经常性用户,维护人员为间隔性用户。

3.2 系统开发思想
本系统的主要开发设计思想:
1.系统应符合图书信息管理的要求,满足图书日常管理的工作需要,并达到操作过程中的直观,方便,实用,安全等;
2.系统采用模块化程序设计方法,不仅有利于系统功能的各种组合和修改,还有利于未
参与开发的技术维护人员的补充,维护;
3.系统应具备数据库维护功能,可以根据用户需求进行数据的添加,删除,修改等操作。

3.3 系统配置
(1)硬件配置
数据库服务器的硬件配置相对要求高一些,内存需要2G以上,CPU频率至少在2.0以上,硬盘250GB,对显卡和显示器无太高相求。

对于客户端只需一般配置即可,512MB内存,赛扬CPU都可以流畅的运行。

(2)软件环境
由于.NET目前只能运行在windows平台上,所以服务器操作系统采用Windows Server 2003 R2企业版。

服务器端需要安装的软件有:Microsoft .NET Framework 2.0、SQL Server 2005。

客户端安装操作系统可以选择Windows XP,同时安装Microsoft .NET Framework 2.0和本软件。

3.4 系统功能模块设计
画出功能模块图是软件开发过程中的一个重要环节,它将显示出软件中所要实现的各种功能,并分类,然后程序员和设计师根据功能模块图来通过代码具体实现这些功能。

3.4.1 本系统的功能模块有:
(1)借阅信息管理模块
(a)读者借阅历史:读者可以查看自己的所有借书记录。

(b)读者当前借阅:读者查看自己目前所借阅图书情况。

(c)读者借阅过期催还:读者查看自己是否有过期未还图书。

(2)书籍信息管理模块
(a)图书借阅:普通管理员实现用户对图书的借阅。

(b)图书归还:普通管理员实现对图书的归还。

(c)添加图书:高级管理员实现添加图书信息。

(d)图书维护:高级管理员实现对图书的维护,包括图书的查询、修改和删除。

(3)读者信息管理模块
(a)读者登录:读者通过管理人员提供的用户名和密码进行登录,登录系统后可以修
改密码。

(b)读者信息:读者可以查看自己的信息,并可以对自己的联系方式进行修改。

(4)系统模块
(a)管理员登录:对于图书馆管理人员,通过管理员登录页面进入系统,分为两个权限,高级管理员可以实现对用户的维护和图书的维护,普通管理员可以实现图书的借阅与归还。

(b)添加用户:高级管理员实现添加用户信息。

(c)用户维护:高级管理员实现添加图书信息。

(d)修改密码:此功能为公共功能,所有用户都可以使用此功能进行秘密的修改。

系统的功能模块结构图如下图所示:
图3.4-1
3.4.2 系统的用例图
用例图(User Case)被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。

本系统完整的用例图如下图所示:
删除图书
新增图书
修改图书信息
新办借阅证
补办借阅证
图书管理
借阅管理
图书归还
图书借阅
登录
<<include>>
<<include>>
<<include>>
图书馆工作人

注销
<<include>>
<<include>>
<<include>><<include>><<include>>
图3.4-2
3.4.3 系统结构图
图3.4-3
3.5 数据库设计
数据库技术在计算机软件邻域研究中一直是非常重要的主题,产生于60年代,30多年来数据库技术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统[4]。

并且,近年来,随着World Wide Web(WWW)的猛增及Internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。

(1)概念结构设计
对于图书管理信息系统来说,概要设计是对读者,图书以及图书管理人员的一些大概分析,以数据流程图和数据字典提供的信息为依据,运用信息模型工具,发挥开发人员的综合想象能力,建立图书管理系统的概念模型。

通过对图书管理系统的分析,可以得出该系统涉及三个实体:读者、图书、管理员。

读者和书籍关系的主要信息是由读者种类表概括的,它使得我们能够更加明朗的看到了读者的具体情况。

读者的各种情况在读者信息很具体的介绍了,包括了电话号码,家庭地址,电子邮件等等,这让我们能很清楚的查询出来每名读者的情况。

所得的概念模型用E-R图表示,如下所示:
图3.5-1
(2)逻辑结构设计
逻辑结构设计的主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。

与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。

这一步设计的结果就是所谓“逻辑数据库”[2]。

本网站采用SQL Server 2005,表结构如下表所示:
表1:管理员表(bookadmin)
序号字段名数据类型长度是否主键备注
1 id varchar 50 是账号
2 pwd varchar 50 否密码
3 name varchar 50 否姓名
4 role int 4 否权限(管理员、普通用户)
表3.5-1
表2:图书信息表(bookinfo)
表3.5-2
表3:图书借阅表(borrowandback)
表3.5-3
(3)数据库的实施
数据库的实施是指使用具体的DBMS创建数据库。

下面是使用T-SQL语句创建数据库中表结构的语句:
--用户信息表
create table Bookadmin
(
id varchar(50) primary key,
pwd varchar(50) not null,
name varchar(50) not null,
roles int check(roles=1 or roles=2)
--1代表管理员,2代表普通借阅者
)
go
--图书信息表
create table Bookinfo
(
bookcode int identity(1,1) primary key, bookname varchar(50) not null,
booktype varchar(50) not null,
author varchar(50) not null,
pubname varchar(50) not null,
inTime datetime default getdate(),
bookclassify varchar(50) not null,
bookindex varchar(50) not null,
bookprice float not null check(bookprice>0), bookpagenum int not null check(bookpagenum>0), bookseries varchar(50) not null, bookdescription varchar(1000) not null
)
go
--图书借阅表
create table Borrowandback
(
id int identity(1,1) primary key,
readerid varchar(50) not null,
bookcode int not null,
borrowtime datetime default getdate(),
ygbacktime datetime,
borrowoper int check(borrowoper=1 or borrowoper=2) --1代表在借,2代表已还
)
go
第四章系统实施
本系统定义了一个核心类,用来访问数据库,代码如下:
class DBHelp
{
SqlConnection mycon;
SqlCommand cmd;
SqlDataReader da;
SqlDataAdapter adp;
public DBHelp()
{
//
//TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 设置数据库连接字符串,并且打开链接
/// </summary>
public bool setDB()
{
bool result = false;
try
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("Config.xml");
XmlNode root = xmlDoc.SelectSingleNode("SQLServer");
string con = "server=" + root.ChildNodes[0].InnerText + "; uid=" + root.ChildNodes[1].InnerText + "; pwd=" + root.ChildNodes[2].InnerText + ";
database=BookMis";
mycon = new SqlConnection(con);
if (mycon.State == ConnectionState.Closed)
{
mycon.Open();
}
result = true;
}
catch
{
result = false;
}
return result;
}
public void closeDB()
{
if (mycon.State == ConnectionState.Open)
{
mycon.Close();
}
}
/// <summary>
/// 执行insert、delete、update的sql命令
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public int updateDB(string sql)
{
int i = 0;
if (setDB())
{
cmd = new SqlCommand(sql, mycon);
i = cmd.ExecuteNonQuery();
closeDB();
}
return i;
}
/// <summary>
/// 执行select命令
/// </summary>
/// <param name="sql"></param>
public int findData(string sql)
{
int i = 0;//0表示登录失败,1表示登录成功if (setDB())
{
cmd = new SqlCommand(sql, mycon);
da = cmd.ExecuteReader();
if (da.Read())
{
i = 1;
}
else
{
i = 0;
}
}
return i;
}
/// <summary>
/// 把数据库里面的数据显示到控件中(执行select命令)/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public DataSet bindData(string sql, string tableName)
{
DataSet ds = new DataSet();
if (setDB())
{
adp = new SqlDataAdapter(sql, mycon);
adp.Fill(ds, tableName);
closeDB();
}
return ds;
}
/// <summary>
/// 返回SqlDataReader的对象
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public SqlDataReader findDD(string sql)
{
if (setDB())
{
cmd = new SqlCommand(sql, mycon);
da = cmd.ExecuteReader();
}
return da;
}
4.1 系统模块
下面给出系统模块的部分截图和代码。

下图是系统模块的登录界面:
图4.1-1
下图是用户信息录入界面:
图4.1-2
部分代码如下:
private void button1_Click(object sender, EventArgs e)//添加
{
if (this.textBox1.Text.Trim().Length > 0)
{
if (this.textBox2.Text.Trim().Length > 0)
{
string uid = this.textBox1.Text.Trim();
string name = this.textBox2.Text.Trim();
string role = boBox1.SelectedItem.ToString();
int k = 0;
if ("管理员" == role)
{
k = 1;
}
else if ("普通用户" == role)
{
k = 2;
}
string sql = "insert into Bookadmin values('"+uid+"',123456,'"+name+"',"+k+") ";
DBHelp db = new DBHelp();
try
{
int a = db.updateDB(sql);
if (a > 0)
{
MessageBox.Show("用户:"+uid+"添加成功!默认的密码是123456", "信息提示", MessageBoxButtons.OK, rmation);
this.textBox1.Clear();
this.textBox2.Clear();
this.textBox1.Focus();
this.BindData();
}
else
{
MessageBox.Show("信息录入失败!", "警告提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
this.textBox2.Focus();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
this.textBox2.Focus();
}
}
else
{
MessageBox.Show("请输入姓名!", "警告提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
this.textBox2.Focus();
}
}
else
{
MessageBox.Show("请输入账号!", "警告提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
this.textBox1.Focus();
}
}
4.2 图书信息管理模块
下面给出图书信息管理模块的部分界面和代码。

下图是图书检索功能的界面:
图4.2-1
代码如下:
private void button1_Click(object sender, EventArgs e)//查找数据
{
string sql = "select bookcode as 图书编号,bookname as 图书名字, booktype as 图书类型,author as 作者,pubname as 出版社,intime as 出版时间,bookclassify 分类,booksubject as 主题,bookindex 索取号,bookprice as 价格,bookpagenum as 页数,bookseries as 系列,bookdescription as 描述from bookinfo where ";
if (this.checkBox1.Checked == true || this.checkBox2.Checked == true || this.checkBox3.Checked == true)
{
if (this.checkBox1.Checked == true)
{
sql = sql+"bookname like '%"+this.textBox1.Text.Trim()+"%'";
}
else if (this.checkBox2.Checked == true)
{
sql = sql + "author like '%" + this.textBox2.Text.Trim() + "%'";
}
else if (this.checkBox3.Checked == true)
{
sql = sql + "pubname like '%" + this.textBox3.Text.Trim() + "%'";
}
else if (this.checkBox1.Checked == true && this.checkBox2.Checked == true)
{
sql = sql + "bookname like '%" + this.textBox1.Text.Trim() + "%' and author like '%" + this.textBox2.Text.Trim() + "%'";
}
else if (this.checkBox1.Checked == true && this.checkBox3.Checked ==
true)
{
sql = sql + "bookname like '%" + this.textBox1.Text.Trim() + "%' and pubname like '%" + this.textBox3.Text.Trim() + "%'";
}
else if (this.checkBox2.Checked == true && this.checkBox3.Checked == true)
{
sql = sql + "author like '%" + this.textBox2.Text.Trim() + "%' and pubname like '%" + this.textBox3.Text.Trim() + "%'";
}
else if (this.checkBox1.Checked == true && this.checkBox2.Checked == true && this.checkBox2.Checked == true)
{
sql = sql + "bookname like '%" + this.textBox1.Text.Trim() + "%' and author like '%" + this.textBox2.Text.Trim() + "%' and pubname like '%" + this.textBox3.Text.Trim() + "%'";
}
this.BindData(sql);
}
else
{
MessageBox.Show("请选择一种查询方式!", "信息提示", MessageBoxButtons.OK, rmation);
}
}
4.3 借书管理模块
下面给出借书管理模块的部分界面和代码。

下图是用户借书情况检索功能的界面:
图4.3-1
核心代码如下:
public void BindData(string sql)
{
this.dataGridView1.Visible = true;
DBHelp db = new DBHelp();
try
{
DataSet ds = db.bindData(sql, "showBorrow");
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
}
catch
{
MessageBox.Show("加载数据出错!!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
this.dataGridView1.Visible = false;
}
}
private void button1_Click(object sender, EventArgs e)
{
string sql = "select *from showBorrow";
if (this.radioButton1.Checked == true)
{
sql = sql + " where 是否已经还书='未还'";
}
else if (this.radioButton3.Checked == true)
{
sql = sql + " where 还书时间<getdate() and 是否已经还书='未还'";
}
this.BindData(sql);
}
第五章结论
回首整个开发设计过程,我学到了很多书本上学不到的东西。

比如以前开发软件的时候,一般做的就是编码工作,实现比较简单的功能。

但是这次的课程设计,我要负责图书管理系统的整个开发过程,包括系统可行性分析、系统需求分析、系统概要设计、系统详细设计、等方面的工作。

在每个设计阶段我都能学到一些新知识,对我的动手能力提高很大。

在整个课程设计过程中,我基本上完成了图书管理系统各个模块的功能,达到了课程设计的要求。

页面设计还有进一步改善的地方,我会在今后的学习工作中着重加强这方面的锻炼。

在以后的工作中,还会遇到很多类似的情况,此次毕业设计为我以后的工作积累了很多宝贵的经验。

同时还切实体会到数据库的强大的数据管理能力,给应用程序的开发带来了极大的方便。

虽然在编写的过程中遇到了很多的问题,但是在求助老师和同学的情况下基本上都解决了。

如果能够熟练的掌握数据库编程,熟练的运用存储过程、触发器等,可以使应用程序变得很简单。

数据库在应用系统中占据着不课代替的位置。

通过龙腾科技有限公司电子商务网站的设计,提高了对整个软件开发过程的能力,也体会到软件工程在实践中的指导作用。

通过课程设计,加深了按软件工程的要求完成规范的各项软件开发文档,对提高软件开发能力和项目管理能力有重要的现实意义。

相关文档
最新文档