基于C和Access的图书管理系统设计与实现毕业设计 精品.docx

上传人:b****5 文档编号:7601002 上传时间:2023-01-25 格式:DOCX 页数:56 大小:2.86MB
下载 相关 举报
基于C和Access的图书管理系统设计与实现毕业设计 精品.docx_第1页
第1页 / 共56页
基于C和Access的图书管理系统设计与实现毕业设计 精品.docx_第2页
第2页 / 共56页
基于C和Access的图书管理系统设计与实现毕业设计 精品.docx_第3页
第3页 / 共56页
基于C和Access的图书管理系统设计与实现毕业设计 精品.docx_第4页
第4页 / 共56页
基于C和Access的图书管理系统设计与实现毕业设计 精品.docx_第5页
第5页 / 共56页
点击查看更多>>
下载资源
资源描述

基于C和Access的图书管理系统设计与实现毕业设计 精品.docx

《基于C和Access的图书管理系统设计与实现毕业设计 精品.docx》由会员分享,可在线阅读,更多相关《基于C和Access的图书管理系统设计与实现毕业设计 精品.docx(56页珍藏版)》请在冰豆网上搜索。

基于C和Access的图书管理系统设计与实现毕业设计 精品.docx

基于C和Access的图书管理系统设计与实现毕业设计精品

 

图书管理系统

设计报告

 

毕业设计(论文)原创性声明和使用授权说明

原创性声明

本人郑重承诺:

所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:

     日 期:

     

指导教师签名:

     日  期:

     

使用授权说明

本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:

按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:

     日 期:

     

摘要

  本设计是一个图书信息管理系统的后台数据库的设计。

由于时间和精力的限制本设计仅实现了图书管理系统基本功能的设计与实现。

通过本次设计,达到了了解数据库应用系统的开发过程,熟悉了系统分析和设计的过程和方法的目的。

在实践中掌握了知识,达到了学以致用的目标。

本次设计首先通过查阅资料对图书领域的基本知识有一定的认识,了解用户各个方面的需求,包括现有的以及将来的可能增加的需求。

然后按照数据库设计的六个阶段进行了设计与实现:

需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库的运行和维护。

数据库在各种信息的提供、保存、更新和查询方面都要求满足各种信息的输出和输入,符合用户的基本需求。

应用Access建立数据库,选用C#作为开发工具,完成了对图书管理系统的实现。

索引关键词:

数据库设计Access应用C#设计

 

 

第一章绪论

随着数据库技术在各行各业的广泛应用,强大的数据库窗口技术、良好的数据库访问能力和友好的用户界面,日益成为设计者的得力助手。

1.1课题研究现状分析

在现今信息化发达的社会,图书的发行量与日俱增。

传统的图书馆需要制作有署名与对应编号的书卡,由读者按分类查找再交由图书管理员来处理借书工作,还书也要人工翻阅大量的记录,这样使得工作量大并及其繁琐,效率变得低下。

因此需要对书籍资源、读者资源、借书信息进行管理,及时了解各个环节中信息的变更,有利用管理效率的提高。

建立网上电子图书管理系统的目的是实现无纸化图书管理,减轻管理员的工作量,方便读者查阅所需的图书,还可以利用网络实现提醒读者还书的功能。

管理员还可以对各种图书进行分析统计,对过时、损坏的图书进行删除,预约图书供应商订购更新的图书。

达到降低成本提高工作效率的目标。

1.2选题的目的及意义

目的:

图书管理系统主要目的是对图书馆种类繁多的书籍进行管理,并且合理管理好用户的借还信息。

提高图书馆的工作效率,降低管理成本。

意义:

通过完成从用户需求分析、数据库设计到上机编程、调试和应用等全过程,进一步了解和掌握数据库设计的思想和方法。

1.3章节安排

第一章为绪论部分,介绍课题的基本情况。

第二章为系统需求设计分析,主要为数据流图和数据字典。

第三章介绍数据库的设计,主要介绍数据库的逻辑设计,结构设计等。

第四章主要为图书管理系统的各个界面说明。

第二章系统需求分析

2.1用户调查

1.图书馆工作人员对功能的需求

工作人员对功能的需求细分如下:

1、管理员信息的输入,查询,修改;

 2、书籍信息的输入,查询,修改;

3、借书信息的输入;

4、学生信息的输入,查询,修改。

1、图书信息更新:

范围可按书编号,名称,价格,数量,类别等款目进行更新;

2、读者人个信息的输入、修改。

查询。

建立读者个人信息档案,获取当前读者的个人信息。

并根据学号查询当前读者当前的借书情况等。

2.2图书管理系统数据流图

图2-2第0层数据流图

2.3数据字典

1.主要数据项的定义

1.图书信息表

属性名

数据类型

长度

允许空

备注

BookId

数字

长整型

N

唯一

Bookname

char

50

N

BookPrice

货币

货币

N

BookQuantity

数字

长整型

N

CategoryID

char

50

N

2.读者信息表

属性名

数据类型

长度

允许空

备注

StudentId

数字

长整型

N

唯一

StudentName

char

50

N

StudentAddress

char

50

N

StudentBirthday

datetime

N

3.管理员信息表

属性名

数据类型

长度

允许空

备注

managerID

char

50

N

唯一

managerName

char

50

N

managerZW

char

50

N

managerAddress

char

50

N

managerPSW

char

50

Y

4.借阅图书信息表

属性名

数据类型

长度

允许空

备注

BorrowId

char

10

N

BookId

char

10

N

StudentId

char

50

N

BorrowQuantity

datetime

N

BorrowDate

datetime

N

 

第三章数据库设计

3.1数据库概念结构设计

1.数据库需要表述的信息有以下几种:

(1)图书信息,

(2)学生信息,

(3)管理员信息

(4)学生借阅图书信息

通过分析整理可得图书管理系统E-R图为:

由系统E-R图可得其主要数据流和主要处理过程:

1.主要数据流定义

(1)数据流名称:

读者信息

定义:

学号+密码+姓名+性别+所属系+电子邮件+备注

(2)数据流名称:

图书信息

定义:

流水号+分类号+索取号+书名+作者+价格+出版社+出版日期+是否借出

(3)数据流名称:

管理员信息

定义:

管理员编号+密码+姓名+性别+联系电话

(4)数据流名称:

借阅图书

定义:

流水号+学号+书名+借书日期

2.主要处理过程的定义

(1)处理过程:

读者管理

输入:

读者编号输出:

读者的注册信息

处理操作:

对所有注册的读者信息建表,用学号作为读者统一编号,编号是唯一的。

(2)处理过程:

管理员管理

输入:

管理员编号号

输出:

管理员的基本信息

处理操作:

对所有管理员编号,建立管理员信息表,管理员编号具有唯一性,

(3)处理过程:

图书管理

输入:

流水号

输出:

图书的基本信息

处理操作:

对所有进馆的图书编号,建立图书信息表,图书编号具有唯一性,

(4)处理过程:

图书查询

输入:

流水号

输出:

所查询图书的相关信息

处理操作:

用户登录后可以查询图书信息,按图书编号可以查询到某本书的详细情况,也可以通过书名,作者,出版社进行模糊查询

(5)处理过程:

图书借出

输入:

流水号,学号

输出:

图书借阅信息

处理操作:

添加图书借阅记录,建立图书借阅信息表。

3.2数据库逻辑结构设计

通过E/R模型到关系模型的转化,可以得到如下关系模式:

图书(流水号,分类号,索取号,书名,作者,价格,出版社,出版日期,是否借出)。

读者(学号,姓名,性别,所属系,电子邮件,备注)。

管理员(管理员编号,密码,姓名,性别,联系电话,所属部门)。

部门(部门号,部门名称)

借阅图书(流水号,学号,借书日期,书名,应还日期,归还标记)。

每个关系模式的主键码都用下划线标出。

(1)流水号是图书的键码,每本书有唯一的流水号。

一个读者可以同时借阅多本书,

一个管理员可以处理多个读者的借阅事宜。

(2)同一本书可以借给不同的同学,同一个读者可以再次借同一本书。

于是借书关系的键码为流水号,学号和借书日期的组合。

(3)要知道图书当前的状态,是在图书馆存放还是被借阅。

需要在图书的模式中增加对应项用以表示图书当前的状态,现在增加‘是否借出’项,并且约定取值和状态的对应关系如下:

0:

在图书馆中没有被借阅;

1:

已经被借出。

3.3数据库实施

3.3.1数据库及表结构的创建

设本系统使用的数据库名为图书管理系统,根据已设计的关系模式及各模式的完整性要求,现在就可以在SQLServer2005数据库系统中实现这些逻辑结构。

下面是创建基本表的SQL语句:

createtable读者信息

createtable管理员信息

createtable借阅图书信息

createtable图书信息

下面是使用Access2003建立的图书管理系统:

 

系统各基本表的属性如下:

读者信息

图书信息:

管理员信息:

借阅图书信息:

3.3.2数据库前台的设计

根据数据库的设计,该图书管理系统可以分成四个子模块:

1、图书管理子模块:

2、学生管理子模块:

3、系统子模块:

根据3个模块的不同功能,可以分别设计不同的操作界面,以实现其功能。

根据不同模块的权限不同,设计登录界面,根据不同的权限访问不同的子系统。

 

第四章图书管理系统使用说明

4.1图书管理系统登录界面:

  

图书管理系统登录界面:

有超级管理员和非超级管理员之分,超级管理员主要是可以对管理员进行添加删除修改功能,输入正确的用户名和密码就可以分别进入对应的操作界面。

如下图:

登录部分相关代码为:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Windows.Forms;

usingSystem.Data.OleDb;

namespaceBookStore

{

publicpartialclassfrmLogo:

Form

{

frmMainfrm1;

doubleop=0.05;

publicfrmLogo(frmMainfrm)

{

InitializeComponent();

frm1=frm;

}

publicfrmLogo()

{

InitializeComponent();

}

OleDbConnectioncon;

privatevoidbutton1_Click(objectsender,EventArgse)

{

if(checkBox1.Checked!

=true)

{

con=newOleDbConnection();//建立数据库连接

con.ConnectionString="Provider=Microsoft.Jet.OleDb.4.0;DataSource=BookStore.mdb";

con.Open();

OleDbCommandcmd=newOleDbCommand("select*fromManagerwheremanagerID='"+textBox1.Text+"'andmanagerPSW='"+textBox2.Text+"'",con);

OleDbDataReaderr=cmd.ExecuteReader();

if(r.Read())

{

frm1.Enabled=true;

this.Visible=false;

con.Close();

}

else

{

MessageBox.Show("密码或用户名错误!

");

}

}

else

{

con=newOleDbConnection();//建立数据库连接

con.ConnectionString="Provider=Microsoft.Jet.OleDb.4.0;DataSource=BookStore.mdb";

con.Open();

if(textBox1.Text=="08060126")

{

OleDbCommandcmd=newOleDbCommand("select*fromManagerwheremanagerID='"+textBox1.Text+"'andmanagerPSW='"+textBox2.Text+"'",con);

OleDbDataReaderr=cmd.ExecuteReader();

if(r.Read())

{

frm1.Enabled=true;

frm1.管理员注册ToolStripMenuItem.Visible=true;

this.Visible=false;

con.Close();

}

else

{

MessageBox.Show("密码或用户名错误!

");

}

}

else

{

MessageBox.Show("你不是超级管理员!

");

textBox1.Text="";

textBox2.Text="";

con.Close();

}

}

}

privatevoidbutton2_Click(objectsender,EventArgse)

{

DialogResultdig=0;

dig=MessageBox.Show("你确定退出吗?

","信息提示!

",MessageBoxButtons.YesNo,MessageBoxIcon.Question);

if(dig==DialogResult.Yes)

{

timer1.Start();

}

else

{

return;

}

}

privatevoidtimer1_Tick(objectsender,EventArgse)

{

frm1.Opacity-=op;

if(frm1.Opacity==0)

{

timer1.Stop();

this.Close();

frm1.Close();

}

}

}

}

以超级管理员身份登录该系统,可以显示管理员界面,管理员可以快速进入各模块,没有权限限制。

4.2管理员管理子系统界面:

办公室系统主要进行对图书馆工作人员信息的管理。

可以进行添加,修改,删除等操作。

上图为管理员信息添加界面。

1管理员信息修改界面:

修改管理员信息时需填写欲修改的管理员的管理员编号,然后在需要修改的项目上填写新信息,不需要修改的地方可以不填写。

点击修改按钮确认管理员信息的修改。

相关代码为:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Windows.Forms;

usingSystem.Data.OleDb;

namespaceBookStore

{

publicpartialclassfrmUpdateManager:

Form

{

publicfrmUpdateManager()

{

InitializeComponent();

}

OleDbCommandcmd;

OleDbDataAdaptersdr;

DataSetds;

privatevoidfrmUpdateManager_Load(objectsender,EventArgse)

{

OleDbConnectioncon=newOleDbConnection();//建立数据库连接

con.ConnectionString="Provider=Microsoft.Jet.OleDb.4.0;DataSource=BookStore.mdb";

stringstr="select*fromManager";

con.Open();

cmd=newOleDbCommand(str,con);

sdr=newOleDbDataAdapter(cmd);

ds=newDataSet();

sdr.Fill(ds,"Manager");

dataGridView1.DataSource=ds.Tables["Manager"];

textBox1.DataBindings.Add("Text",ds.Tables["Manager"],"managerID");

textBox2.DataBindings.Add("Text",ds.Tables["Manager"],"managerName");

textBox3.DataBindings.Add("Text",ds.Tables["Manager"],"managerZW");

textBox4.DataBindings.Add("Text",ds.Tables["Manager"],"managerAddress");

textBox5.DataBindings.Add("Text",ds.Tables["Manager"],"managerPSW");

}

privatevoidbutton2_Click(objectsender,EventArgse)

{

stringmana_id=textBox1.Text;

stringmana_name=textBox2.Text;

stringmana_ZW=textBox3.Text;

stringmana_address=textBox4.Text;

stringmana_PSW=textBox5.Text;

cmd.CommandText="updateManagersetmanagerName=@name,managerZW=@manaZW,managerAddress=@address,managerPSW=@manaPSWwheremanagerID=@manaid";

OleDbParameter[]par=newOleDbParameter[5];

for(inti=0;i<5;i++)

{

par[i]=newOleDbParameter();

}

par[0].ParameterName="@name";

par[0].Value=mana_name;

par[1].ParameterName="@manaZW";

par[1].Value=mana_ZW;

par[2].ParameterName="@address";

par[2].Value=mana_address;

par[3].ParameterName="@manaPSW";

par[3].Value=mana_PSW;

par[4].ParameterName="@manaid";

par[4].Value=mana_id;

for(intj=0;j<5;j++)

{

cmd.Parameters.Add(par[j]);

}

intn=cmd.ExecuteNonQuery();

if(n==1)

{

MessageBox.Show("学生信息修改成功!

");

}

else

{

MessageBox.Show("修改失败错误!

");

}

}

}

}

2,添加管理员:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Windows.Forms;

usingSystem.Data.OleDb;

namespaceBookStore

{

publicpartialclassfrmAddManager:

Form

{

OleDbConnectioncon;

OleDbDataAdapterda;

DataSetds;

publicfrmAddManager()

{

InitializeComponent();

con=newOleDbConnection();//建立数据库连接

con.ConnectionString="Provider=Microsoft.Jet.OleDb.4.0;DataSource=BookStore.mdb";

da=newOleDbDataAdapter("select*fromManager",con);

ds=newDataSet("Manager");

}

privatevoidfrmAddManager_Load(objectsender,EventArgse)

{

da.Fill(ds,"Manager");

BindingSourcebs=newBindingSource();//绑定数据源

bs.DataSource=ds.Tables["Manager"];//为绑定数据源赋值

dataGridView1.DataSource=bs;//和控件绑定

textBox1.Focus();

button2.Enabled=false;

}

privatevoidbutton1_Click(objectsender,EventArgse)

{

con.Open();

OleDbCommandcmd=newOleDbCommand("select*fromManagerwheremanagerID=@mana_id",con);

cmd.Parameters.A

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1