分享
分销 收藏 举报 申诉 / 28
播放页_导航下方通栏广告

类型图书馆管理系统的实现功能和实现步骤.doc

  • 上传人:精***
  • 文档编号:2669780
  • 上传时间:2024-06-04
  • 格式:DOC
  • 页数:28
  • 大小:869.04KB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    图书馆 管理 系统 实现 功能 步骤
    资源描述:
    图书馆管理系统的实现功能和实现步骤 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 28 个人收集整理 勿做商业用途 图书馆管理系统 1.信息描述 图书馆中有各种类型的图书,图书信息包括:图书编号、图书名称、作者、出版社、种类、价格、出版时间等;读者信息包括:姓名、性别、单位、出生日期等. 2.预计功能描述 1。 基础数据维护。 2。 图书的插入。(数量〉1) 3. 图书的删除与修改。 4。 图书查询。 5. 图书借阅与归还。(可以查询图书当前被谁借走及剩余数量.每人能同时最多能借5本书,超过5本不能再借阅.) 6。 读者查询。可以查询读者目前已借的图书信息及借阅时间与归还时间 7。 权限设置。 8。 帮助等。 3。功能的实现 3.1主界面设置 主界面中仅有一个MainMenu控件,如图所示: 在“管理员登录”中输入以下代码: procedure TMain。AdLoginClick(Sender: TObject); begin FrmLogin.Caption:=’管理员登陆'; //把登陆界面标题改为“管理员登陆" FrmLogin。ShowModal; //显示登陆界面 end; 在“用户登录”中输入以下代码: procedure TMain。CoLoginClick(Sender: TObject); begin FrmLogin。Caption:='用户登陆’; //把登陆界面标题改为“用户登录" FrmLogin。ShowModal; //显示登陆界面 end; 在“退出"中输入以下代码(为简便起见,下文中未注明的“退出”与“取消”按钮与此操作相同,不予以再次注明): procedure TMain.ExitClick(Sender: TObject); begin close; end; 3.2登录界面的设置 登录界面的主要控件:2个Lable、2个Edit、2个BitButton、ADOQuery、DataSourse.如图: 在确定按钮中输入以下代码: procedure TFrmLogin.BtnOKClick(Sender: TObject); Var CmdStr: String; //CmdStr存放查询语句 UsrType: integer; //UsrType存放用户类型 begin ADOQryUser.SQL.Clear; CmdStr:='select* From 用户(管理员) Where 用户名=’+QuotedStr(EdtUserName。Text)+'and 口令='+QuotedStr(EdtPass.Text); AdoQryUser。SQL。Add(CmdStr); AdoQryUser.Open; if AdoQryUser。RecordCount<>0 then //确认该用户存在 begin UsrType:=ADOQryUser.FieldList[2].AsInteger; if UsrType=0 then //0为普通用户 if FrmLogin.Caption=’管理员登陆’ then //如果用户点了管理员登陆,提醒其换登陆 begin messagedlg(’此账号不是管理员,请使用用户登录’,mtinformation,[mbyes,mbno],0); close; end //登陆成功 else begin FrmWork。Caption:='用户使用’; //主界面标题改为“用户使用” FrmWork。BkManage.Enabled:=false; //图书管理按钮不可用 FrmWork.BkRdManage.Enabled:=false; //用户管理按钮不可用 FrmWork。BkBorL.Enabled:=False; //图书借阅及归还按钮不可用 FrmWork.BkReader。Enabled:=true; //读者服务按钮可用 FrmWork.BkSearch。Enabled:=true; //图书查询按钮可用 FrmWork.BkExit.Enabled:=true; //退出登录按钮可用 FrmWork。ShowModal; //显示主界面 end else if UsrType=1 then //1为普通管理员 if FrmLogin。Caption=’用户登录’ then begin messagedlg('此账号不是用户,请使用管理员登录’,mtinformation,[mbyes,mbno],0); close; end else begin FrmWork.Caption:='管理员使用'; FrmWork。BkManage.Enabled:=true; //普通管理员可以使用图书管理 FrmWork.BkRdManage。Enabled:=false; FrmWork.BkBorL。Enabled:=true; //普通管理员可以使用图书借阅及归还 FrmWork.BkReader.Enabled:=true; FrmWork。BkSearch。Enabled:=true; FrmWork.BkExit.Enabled:=true; FrmWork。ShowModal; end else //其他的是顶级管理员 if FrmLogin.Caption=’用户登录’ then begin messagedlg('此账号不是用户,请使用管理员登录’,mtinformation,[mbyes,mbno],0); close; end else begin FrmWork。Caption:='管理员使用’; FrmWork.BkManage.Enabled:=true; FrmWork.BkRdManage。Enabled:=true; //顶级管理员可以使用用户管理 FrmWork。BkBorL。Enabled:=true; FrmWork.BkReader。Enabled:=true; FrmWork。BkSearch。Enabled:=true; FrmWork.BkExit.Enabled:=true; FrmWork.ShowModal; end end else if(messagedlg('输入的用户名与口令不对!是否要重输?’,mtinformation,[mbyes,mbno],0)<>mryes) then Close; end; 3。3工作主界面 工作主界面的主要控件为:6个Button、2个Lable。如图: 此界面的主要代码如下: procedure TFrmWork.BkExitClick(Sender: TObject); begin close; end; procedure TFrmWork。BkSearchClick(Sender: TObject); begin FrmBkSearch。ShowModal; //显示图书查询界面 end; procedure TFrmWork。BkRdManageClick(Sender: TObject); begin FrmRdManage.ShowModal; //显示用户管理界面 end; procedure TFrmWork。BkManageClick(Sender: TObject); begin FrmBkManage.ShowModal; //显示图书管理界面 end; procedure TFrmWork.BkReaderClick(Sender: TObject); begin FrmReader.ShowModal; //显示读者服务界面 end; procedure TFrmWork。BkBorLClick(Sender: TObject); begin FrmBkBandL。showModal; //显示图书借阅与归还界面 end; 3.4图书查询界面 图书查询界面的主要控件为:Lable、DBEdit、Button、BitButton、RadioGroup、DBGrid、DataSourse和ADOQurey。如图: 选择查询条件的代码为: procedure TFrmBkSearch。rdgClick(Sender: TObject); //查询条件的改变 begin ADOQryCondtion。Close; ADOQryConDtion。SQL.Clear; Case rdg。ItemIndex of 0: begin ADOQryCondtion.SQL.Add('select 图书名称 from 图书’); DBEditBook。DataField:='图书名称’; end; 1: begin ADOQryCondtion.SQL。Add('select 作者 from 图书'); DBEditBook。DataField:=’作者'; end; 2: begin ADOQryCondtion。SQL。Add(’select 出版社 from 图书’); DBEditBook.DataField:=’出版社’; end; 3: begin ADOQryCondtion.SQL.Add('select 种类 from 图书’); DBEditBook.DataField:='种类'; end; 4: begin ADOQryCondtion。SQL。Add(’select * from 图书’); ADOQryCondtion.Active:=true; end; end; ADOQryCondtion。Active:=true; end; 点击搜索的代码为: procedure TFrmBkSearch。Button1Click(Sender: TObject); //确认查询 var CID:String; //CID中存放查询语句 begin ADOQryXx。Close; ADOQryXx。SQL.Clear; case rdg。ItemIndex of 0:CID:='select* from 图书 where 图书名称 LIKE '+QuotedStr('%’+DBEditBook。Text+'%’); 1:CID:=’select* from 图书 where 作者 LIKE ’+QuotedStr(’%'+DBEditBook。Text+’%’); 2:CID:=’select* from 图书 where 出版社 LIKE '+QuotedStr(’%’+DBEditBook。Text+'%’); 3:CID:='select* from 图书 where 种类 LIKE '+QuotedStr('%’+DBEditBook.Text+'%’); 4:CID:='select* from 图书'; end; ADOQryXx。SQL。Add(CID); //写入SQL语句 ADOQryXx。Active:=true; //显示查询结果 end; 3。5读者服务界面 读者服务界面的主要控件为:DataSourse、ADOQuery、Edit、Table、PageControl、bitbutton、DBGrid等。 1。用户信息查询: 此TabSheet的OnShow事件代码为: procedure TFrmReader。TabSheet1Show(Sender: TObject); //实现了用户信息查询 var chazhao: String; //保存查询语句 leixin: integer; //保存用户类型 begin ADOQryJieshu.Close; ADOQryJieshu.SQL.Clear; chazhao:=’select* From 用户(管理员) Where 用户名='+QuotedStr(FrmLogin。EdtUserName.Text)+'and 口令=’+QuotedStr(FrmLogin.EdtPass。Text); ADOQryJieshu.SQL。Add(chazhao); ADOQryJieshu。Open; //显示各种查询到的信息 Edit1.text:=ADOQryJieshu。FieldList[3].AsString; Edit2。text:=ADOQryJieshu。FieldList[4]。AsString; Edit3。text:=ADOQryJieshu。FieldList[6].AsString; Edit4。text:=ADOQryJieshu.FieldList[5].AsString; Edit8.Text:=ADOQryJieshu.FieldList[7].AsString; leixin:=ADOQryJieshu.FieldList[2]。AsInteger; case leixin of 0: Edit9.Text:='普通用户'; 1: Edit9.Text:=’管理员'; 2: Edit9.Text:='顶级管理员’; end; end; 2.图书借阅查询 此TabSheet的OnShow事件代码为: procedure TFrmReader.TabSheet2Show(Sender: TObject); //实现该用户所借书籍的显示 var chaxun: String; begin ADOQuery1。Close; ADOQuery1。SQL.Clear; chaxun:='select* From 借书 Where 用户名='+QuotedStr(FrmLogin。EdtUserName。Text); ADOQuery1.SQL。Add(chaxun); ADOQuery1.Open; ADOQuery1.Active:=true; end; 3.密码修改 点击确认修改按钮的代码是: procedure TFrmReader.BitBtn2Click(Sender: TObject); //实现密码的修改 var xiugai: String; //保存修改语句 begin ADOQuery1.Close; ADOQuery1.SQL。Clear; if Edit5.Text〈>FrmLogin。EdtPass.Text then //确认原密码正确 messagedlg(’原密码错误,请重输’,mtinformation,[mbyes,mbno],0) else if Edit6.Text<〉Edit7。Text then //确保两次输入密码相同 messagedlg('确认密码与新密码不匹配,请重输’,mtinformation,[mbyes,mbno],0) //修改密码 else begin xiugai:=’Update 用户(管理员) set 口令=:口令 where 用户名=’+QuotedStr(FrmLogin。EdtUserName.Text); ADOQuery1.SQL.text:=xiugai; ADOQuery1。Parameters。ParamByName('口令’).Value:=trim(Edit6。Text); ADOQuery1.ExecSQL; end; Edit5。Text:='’; Edit6。Text:='’; Edit7。Text:=''; end; 3.6图书借阅与归还界面 图书借阅与归还界面主要控件为:PageControl、DataSource、ADOQuery、Button、Edit、DBGrid等. 1。图书借阅 修改用户名时的代码为: procedure TFrmBkBandL。Edit1Change(Sender: TObject); //当用户更改时,即时显示该用户借阅的书籍 var chaxun: String; begin ADOQuery1.close; ADOQuery1.sql.clear; chaxun:=’select* from 借书 where 用户名='+quotedstr(Edit1.Text); ADOQuery1.sql。Add(chaxun); ADOQuery1.open; ADOQuery1。ACtive:=true; end; 点击确认借阅按钮的代码为: procedure TFrmBkBandL。Button1Click(Sender: TObject); //按此按钮确认借书 var chaxun: String; //保存查询语句 YH: String; //保存用户姓名 TS: String; //保存图书名称 YHSL: Integer; //保存用户现在的借阅数量 TSSL: Integer; //保存图书的现有数量 begin if edit1.text='' then begin showmessage('用户名不能为空,请重输!'); edit1。SetFocus; end else if edit2。Text=’' then begin showmessage(’图书编号不能为空,请重输!’); edit2。SetFocus; end //以上确保用户名与图书编号均不为空 else begin ADOQuery1.close; ADOQuery1。sql.Clear; chaxun:='select* from 用户(管理员) where 用户名='+quotedstr(edit1.Text); ADOQuery1。sql。Add(chaxun); ADOQuery1.open; YHSL:=ADOQuery1.FieldList[7]。ASInteger; if(ADOQuery1.recordcount=0) then //确保用户存在 begin showmessage(’该用户不存在,请重输!’); edit1。SetFocus; end else if(YHSL>=5) then //确保该用户借书量未满 begin showmessage('该用户书籍已借满,请重输!'); edit1。SetFocus; end else begin ADOQuery1。close; ADOQuery1。sql。Clear; chaxun:='select* from 图书 where 图书编号=’+quotedstr(edit2.Text); ADOQuery1。sql.Add(chaxun); ADOQuery1.open; TSSL:=ADOQuery1.FieldList[7]。ASInteger; if(ADOQuery1。recordcount=0) then //确保该图书在库中 begin showmessage(’该图书不存在,请重输!'); edit2。SetFocus; end else if(TSSL<=0) then //确保该图书还有存货 begin showmessage(’该书籍库存已尽,请重输!’); edit2。SetFocus; end //以下为借书步骤 else begin ADOQuery1。close; ADOQuery1。sql。Clear; chaxun:='select* from 图书 where 图书编号='+quotedstr(edit2。Text); ADOQuery1.sql.Add(chaxun); ADOQuery1.open; TS:=ADOQuery1。FieldList[1].ASString; //提取该编号的图书名称 ADOQuery1。close; ADOQuery1.sql。Clear; chaxun:='select* from 用户(管理员) where 用户名=’+quotedstr(edit1。Text); ADOQuery1.sql.Add(chaxun); ADOQuery1。open; YH:=ADOQuery1.FieldList[3].ASString; //提取该用户的姓名 //以下是借书步骤 ADOQuery1.close; ADOQuery1.sql.Clear; ADOQuery1。sql。Text:='insert into 借书(用户名,图书编号,用户姓名,图书名称,借书日期,应还日期) values(:用户名,:图书编号,:用户姓名,:图书名称,:借书日期,:应还日期)'; ADOQuery1。PArameters。ParamByName('用户名')。Value:=trim(Edit1。Text); //设置用户名 ADOQuery1.PArameters.ParamByName(’图书编号’)。Value:=trim(Edit2.Text); //设置图书编号 ADOQuery1。PArameters.ParamByName('用户姓名').Value:=trim(YH); //设置用户姓名为YH ADOQuery1.PArameters.ParamByName('图书名称').Value:=trim(TS); //设置图书名称为TS ADOQuery1.PArameters。ParamByName(’借书日期')。Value:=Datetostr(date()); //设置结束日期为当前日期 ADOQuery1。PArameters.ParamByName('应还日期').Value:=Datetostr(date()+30); //设置应还日期为一个月后 ADOQuery1。ExecSQl; //执行SQL语句,到此“借书”表中插入了一条记录 //更新“图书"表,把刚借走的图书的现有数量减1 ADOQuery1。close; ADOQuery1。sql.clear; ADOQuery1。sql。Text:=’update 图书 set 现有数量=:现有数量 where 图书编号='+quotedstr(Edit2.Text); ADOQuery1.PArameters.ParamByName('现有数量’).Value:=TSSL-1; ADOQuery1。ExecSQl; //更新“用户(管理员)”表,把刚借书的用户的借书数量加1 ADOQuery1.close; ADOQuery1。sql。clear; ADOQuery1.sql。Text:='update 用户(管理员) set 已借图书=:已借图书 where 用户名=’+quotedstr(Edit1。Text); ADOQuery1。PArameters。ParamByName('已借图书')。Value:=YHSL+1; ADOQuery1。ExecSQl; //及时更新数据并显示 ADOQuery1。close; ADOQuery1。sql。clear; chaxun:='select* from 借书 where 用户名='+quotedstr(edit1。Text); ADOQuery1.sql.Add(chaxun); ADOQuery1.open; ADOQuery1.ACtive:=true; end end end end; 2。图书归还 点击确认归还得代码为: procedure TFrmBkBandL。Button3Click(Sender: TObject); var chaxun: String; //保存查询语句 YHSL: Integer; //保存用户借书数量 TSSL: Integer; //保存图书现有数量 begin if edit3。text=’' then begin showmessage('用户名不能为空,请重输!'); edit3。SetFocus; end else if edit4。Text=’’ then begin showmessage(’图书编号不能为空,请重输!’); edit4.SetFocus; end //以上确保用户名和图书编号不为空 else begin ADOQuery1.close; ADOQuery1。sql.Clear; chaxu
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:图书馆管理系统的实现功能和实现步骤.doc
    链接地址:https://www.zixin.com.cn/doc/2669780.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork