完整版c图书管理系统毕业课程设计论文.docx
- 文档编号:7936220
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:19
- 大小:718.54KB
完整版c图书管理系统毕业课程设计论文.docx
《完整版c图书管理系统毕业课程设计论文.docx》由会员分享,可在线阅读,更多相关《完整版c图书管理系统毕业课程设计论文.docx(19页珍藏版)》请在冰豆网上搜索。
完整版c图书管理系统毕业课程设计论文
图书管理系统
摘要
图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。
图书馆若采取手工方式对图书资料和图书借阅情况进行人工管理,由于资料繁多,手工处理的工作量大,整体管理效率低下,也不方便读者对图书资料的查阅。
为了提高日常的图书管理效率,本文针对通常的图书管理流程,以CS模式设计了一个图书管理系统,可满足大多数中小型的图书管理要求。
本文首先探讨了SQL语言接口和Delphi软件开发工具的技术特点以及结合SQL和Delphi的数据库访问方法,在此基础上,利用Delphi7和Access2002实现了一个通用的图书管理系统。
在本文的后半部分,给出了该系统的整个系统分析、设计以及实现的过程,包括需求分析、功能模块的分析与设计、数据模式的分析与设计,最后是系统的Delphi实现。
系统的运行结果表明,所设计的图书管理系统可以满足读者,图书馆工作人员,系统管理员三者的共同需求。
关键词:
图书管理系统,SQL语言
LIBRARYMANAGEMENTSYSTEM
ABSTRACT
Sincevolumesofbookmanagementactivitieslibrary,itwillbeathemanagement.Toupgradetheirmanagementefficiency,peoplewouldliketodevelopvariousBookManagementSystemstothispaperabookmanagementsystembuiltinClientServermodelisdesigned,whichcanmeetrequirementsofmostlibrarymanagementforitsintegrationofgenerallibrarytransactionmanagementprocesses.
SQLdatabaseaccessinterfaceandDelphiRADtoolaswellasthecombinationofthetwoarefirstlydiscussedinthepaper.Inthelatterpartofthepaper,thewholedesignofageneralBookManagementSystembuiltwithDelphi7andAccess2002ispresented,includingthesystem’srequirementanalysis,functionmodulesdesign,datamodeldesignanditsDelphiimplementation.
Therunningofthesystemprovesthatitcouldmeetthecommonusageforvariouskindsofusersincludingreaders,librarystaffsandsystemadministrators.
KEYWORDS:
BookManagementSystem,SQLlanguage
目录
中文摘要1
英文摘要2
1系统功能设计5
1.1设计背景5
1.2系统设计目标5
1.3系统功能设计6
1.4开发工具的选择7
2系统数据库设计与实现7
2.1信息需求7
2.2数据库E-R图8
2.2.1图书基本信息E-R图8
2.2.2借阅信息类型E-R图9
2.2.3用户信息E-R图9
2.2.4读者信息E-R图10
3窗体设计10
3.1登陆窗口设计10
3.2图书信息管理模块设计12
3.3读者信息管理模块设计16
3.4图书借阅处理模块设计19
3.5图书查询处理模块设计24
结束语26
致谢26
参考文献27
1系统功能设计
1.1设计背景
当今时代是飞速发展的信息时代。
在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。
计算机的最大好处在于利用它能够进行信息管理。
使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
图书管理系统(电子阅览室)主要提供网上的电子图书阅览平台,读者可以通过该系统阅览丰富的电子资源。
在图书管理系统中,读者可以方便地对书目进行检索和阅览,足不出户便可尽览群书。
图书管理系统主要提供网上的图书阅览平台。
电子阅览室可提供24小时的在线服务,最大限度的利用了当前互联网的各种优势,使得您无论身在何处,只要能接入互联网就可以享受到它所提供的方便,快捷的服务。
它既具有传统图书馆的大部分功能,像图书的查阅及阅览,又新增了基于现有网络技术的许多实用的功能,像用户注册,书签,书评等。
它充分的利用了互联网资源,使商家和用户都能从中获得益处。
1.2系统设计目标
系统功能依据用户需求而设计,主要包括信息管理对象的特征、事物流程的内容和数据流量,根据用户需求和方便用户使用的原则确定相应的功能模块。
本系统为学校的图书馆信息而设计,实现信息处理的自动化、规范化,主要用于处理图书日常借阅和还书、图书入库、各种查询操作,系统具有以下功能。
1)图书借阅处理
2)图书与读者信息查询与修改、删除
3)图书入库与图书的信息修改、删除
4)员工信息的修改、删除
1.3系统功能设计
要求系统实现图书馆日常管理事务最主要的功能,包括图书的借出于还回,图书信息的录入、修改和查询,读者信息的录入、修改和查询,员工信息的录入、修改和查询。
实现这些基本功能,组建了图书管理系统的基本框架,根据功能的关联关系和集中分组的原则,将系统细化如图1-1所示的结构图。
图1-1系统功能结构图
1.4开发工具的选择
本系统采用sqlserver创建后台数据库,前台开发工具采用的Visual Studio2005,编程语言为C#,
2系统数据库设计与实现
数据库设计得合理与否,对数据库的完整性、安全性、程序运行的效率和程序设计的复杂程度有着十分密切的关系。
数据库设计的内容包括数据库管理系统的选择、数据实体的确定、数据实体的E-R图和数据库的实现。
2.1信息需求
在数据库中需要设计如下所示的数据字段和数据表:
(1)图书信息表---dbo.tbbook,包括:
图书编号、图书名称、出版社、作者、出版日期、价格、图书类型和简介。
(2)借阅登记表---dbo.bookout,包括:
读者编号、图书编号、借书日期、是否归还。
(3)系统用户表---dbo.tbuser,包括:
密码、用户名和用户类型。
(4)读者表----dbo.person,包括:
读者编号、读者姓名、性别、电话号码、罚款、读者身份和注释。
2.2数据库E-R图
通过上面对系统的总体分析,可以得到大概的实体—关系模型(E-R模型),如下:
2.2.1图书基本信息E-R图
图书基本信息:
{图书编号、图书名称、作者、出版日期、出版社和简介
2.2.2借阅信息类型E-R图
借阅信息类型:
{读者编号、图书编号、借书日期、应还书日期}
2.2.3用户信息E-R图
用户信息:
{用户名,密码}
2.2.4读者信息E-图
读者信息:
{读者编号、读者姓名、性别、所在系、年龄}
3、窗体设计
3.1登陆窗口设计
首先,启动程序“MicrosoftVisualStudio2005”,选择“文件”——“新建”——“项目”,打开“新建项目”对话框,输入项目名称为“.cs”,并将其作为主窗体。
在主窗体中先进行界面设计,然后再编写其相应的事件方法代码,主窗体的执行效果如图所示。
主要代码:
privatevoidbutton1_Click(objectsender,EventArgse)
{
UserClass.UesrName=textBox1.Text;
if(comboBox1.SelectedIndex==0)
{
Stringsql1="selectcount(*)fromtbUserwhereuserId=@tb1";
Stringsql2="selectcount(*)fromtbUser,UserTypewheretbUser.userType=UserType.userTypeanduserId=@tb1anduserPs=@tb2anduserType.TypeName='"+comboBox1.Text+"'";
SqlParameter[]par=newSqlParameter[2];
par[0]=newSqlParameter("@tb1",textBox1.Text.Trim());
par[1]=newSqlParameter("@tb2",textBox2.Text.Trim());
ints=Int32.Parse(DBHelper.GetSingle(sql1,par).ToString());
if(s>0)
{
intc=Int32.Parse(DBHelper.GetSingle(sql2,par).ToString());
if(c>0)
{
LibraryManagelbm=newLibraryManage();
lbm.Show();
this.Visible=false;
}
else
{
MessageBox.Show("密码错误");
}
}
else
{
MessageBox.Show("用户名错误");
}
}
3.2图书信息管理模块设计
图书信息管理模块的内容包括图书入库和修改图书信息等。
该功能模块主要负责图书信息的相关操作,保证数据库中的完整、规范和准确,使用户可以方便快捷地来管理图书信息。
该模块主要操作针对数据库的的图书信息表“”进行添加、修改和删除记录。
(1)主窗体设计,其运行效果如图下所示。
窗体设计:
主要代码:
privatevoidLibraryManage_Load(objectsender,EventArgse)
{
Strings=UserClass.UesrName;
stringsql="selectuserTypefromtbUserwhereuserId='"+s+"'";
intt=Int32.Parse(DBHelper.GetSingle(sql).ToString());
if(t==2)
{
管理员权限ToolStripMenuItem.Enabled=false;
图书操作ToolStripMenuItem.Enabled=false;
添加操作ToolStripMenuItem.Enabled=false;
}
toolStripStatusLabel4.Text=s;
}
(2)图书入库窗体,其运行效果如图下所示。
窗体设计:
主要代码:
privatevoidbutton1_Click(objectsender,EventArgse)
{
Stringsql="insertintotbBook(ISBN,bName,bPublish,bAuthor,bPublishTime,bPrice,bid,bcount,bRemark)values(@@@@@bRemark)";
SqlParameter[]par=newSqlParameter[9];
if(textBox1.Text=="")
{
MessageBox.Show("输入信息不完整!
");
}
else
{
par[0]=newSqlParameter("@ISBN",textBox1.Text.Trim());
par[1]=newSqlParameter("@bName",textBox2.Text.Trim());
par[2]=newSqlParameter("@bPublish",textBox3.Text.Trim());
par[3]=newSqlParameter("@bAuthor",textBox4.Text.Trim());
par[4]=newSqlParameter("@bPublishTime",textBox5.Text.Trim());
par[5]=newSqlParameter("@bPrice",textBox7.Text.Trim());
Stringsql1="selectbidfromtbbookTypewherebookType='"+comboBox1.Text+"'";
intt=Int32.Parse(DBHelper.GetSingle(sql1).ToString());
par[6]=newSqlParameter("@bid",t);
par[7]=newSqlParameter("@bSum",textBox6.Text.Trim());
par[8]=newSqlParameter("@bRemark",richTextBox1.Text.Trim());
intcount=DBHelper.ExecuteSql(sql,par);
if(count>0)
{
MessageBox.Show("添加成功");
}
else
{
MessageBox.Show("添加失败");
}
}
}
(3)图书管理窗体,其运行效果如下所示。
窗体设计:
主要代码:
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringsql="selectISBN,PIDas学号,outdateas借阅时间frombookOut";
DataTabledt=newDataTable();
dt=DBHelper.Query(sql).Tables[0];
dataGridView1.DataSource=dt;
}
3.3读者信息管理模块设计
每年都有新生入校和老生毕业,作为一个学校的图书馆,读者信息需要实时的更新。
读者信息管理包括添加读者信息、修改读者信息和删除读者信息。
(1)添加读者信息窗体,其运行效果如图下所示。
窗体设计:
主要代码:
privatevoidbutton1_Click(objectsender,EventArgse)
{
Stringsql="insertintoperson(PID,Pname,Psex,Pphone,Pidenum,PRemark)values(@@@)";
SqlParameter[]par=newSqlParameter[6];
par[0]=newSqlParameter("@PID",textBox1.Text.Trim());
par[1]=newSqlParameter("@Pname",textBox2.Text.Trim());
par[2]=newSqlParameter("@Pphone",textBox4.Text.Trim());
par[3]=newSqlParameter("@Psex",comboBox1.Text);
stringsql1="selectidNumfromidentywhereidNmae='"+comboBox2.Text+"'";
intt=Int32.Parse(DBHelper.GetSingle(sql1).ToString());
par[4]=newSqlParameter("@Pidenum",t);
par[5]=newSqlParameter("@PRemark",richTextBox1.Text.Trim());
intcount=DBHelper.ExecuteSql(sql,par);
if(count>0)
{
MessageBox.Show("添加成功");
}
else
{MessageBox.Show("添加失败");}
}
(2)添加用户窗体,其运行效果如图下所示。
窗体设计:
主要代码:
privatevoidbutton1_Click(objectsender,EventArgse)
{
inta=0;
if(textBox1.Text==""&&textBox2.Text=="")
{MessageBox.Show("用户名或密码不能为空");}
else
{stringsql1="selectusertypefromusertypewheretypename='"+comboBox1.Text+"'";
intb=Int32.Parse(DBHelper.GetSingle(sql1).ToString());
stringsql="insertintotbuser(userid,userps,usertype)values('"+textBox1.Text+"','"+textBox2.Text+"',"+b+")";
a=DBHelper.ExecuteSql(sql);
if(a>0)
{
MessageBox.Show("添加成功");
}
else{MessageBox.Show("添加失败");}
}
}
3.4图书借阅处理模块设计
图书借阅处理模块的本系统的核心模块,包括借书窗体和还书窗体的设计。
(1)借书和续借图书处理窗体,其运行效果如下所示。
借阅窗体设计:
续借图窗体设计:
主要代码:
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringsq1l="selectbigNumfromidenty,personwhereperson.pidenum=identy.idNumandperson.idName='"+textBox4.Text+"'";
stringsql2="selectbigNumfromidentywhereidnmae='"+textBox4.Text+"'";
stringsql="insertintobookout(ISBN,PID,Outdate)values(@@Outdate)";
if(textBox1.Text!
="")
{
if(textBox7.Text!
="")
{
intt=Int32.Parse(DBHelper.GetSingle(sql2).ToString());
if(Int32.Parse(textBox5.Text)<=t)设置最多借阅量
{
SqlParameter[]par=newSqlParameter[3];
par[0]=newSqlParameter("@ISBN",textBox7.Text.Trim());
par[1]=newSqlParameter("@PID",textBox1.Text.Trim());
par[2]=newSqlParameter("@Outdate",comboBox1.Text);
intcount=DBHelper.ExecuteSql(sql,par);
if(count>0)
{
MessageBox.Show("借阅成功");
}
else{MessageBox.Show("借阅失败");}
}
else
{
MessageBox.Show("你不能再借了");
}
bindgrid();
}
else{MessageBox.Show("请输入书的ISBN号");}
}
else{MessageBox.Show("请输入借阅证号");}
}
(2)还书处理窗体,其运行效果如下图所示。
窗体设计:
主要代码:
privatevoidtextBox1_KeyPress(objectsender,KeyPressEventArgse)
{
if(e.KeyChar==13)
{
DataTabledt=newDataTable();
stringsql="selectbookout.ISBN,person.PIDas学号,person.Pnameas借阅者,Outdateas借阅时间,bNameas书名frombookout,person,tbbookwherebookOut.PID=person.PIDandbookOut.ISBN=tbbook.ISBNandperson.Pnamein(selectperson.Pnamefromperson,bookOutwhereperson.PID=bookOut.PIDandbookOut.ISBN='"+textBox1.Text.Trim()+"')";
dt=DBHelper.Query(sql).Tables[0];
dataGridView1.DataSource=dt;
textBox2.Text=dt.Rows.Count.ToString();
}
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
stringsql="updatebookoutsetisreturn='1'whereisbn='"+textBox1.Text+"'";
intt=Int32.Parse(DBHelper.ExecuteSql(sql).ToString());
if(t>0)
{
MessageBox.Show("归还成功");
}
}
3.5图书查询处理模块设计
查询功能是十分重要的功能,读者需要查询他所借的书和以还的书,图书馆工作人员需要查询本馆的图书、借阅信息和员工信息。
查询功能仅仅需
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 图书 管理 系统 毕业 课程设计 论文