收藏 分销(赏)

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

上传人:精*** 文档编号:2669780 上传时间:2024-06-04 格式:DOC 页数:28 大小:869.04KB
下载 相关 举报
图书馆管理系统的实现功能和实现步骤.doc_第1页
第1页 / 共28页
图书馆管理系统的实现功能和实现步骤.doc_第2页
第2页 / 共28页
图书馆管理系统的实现功能和实现步骤.doc_第3页
第3页 / 共28页
图书馆管理系统的实现功能和实现步骤.doc_第4页
第4页 / 共28页
图书馆管理系统的实现功能和实现步骤.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、图书馆管理系统的实现功能和实现步骤 作者: 日期:28 个人收集整理 勿做商业用途图书馆管理系统1.信息描述图书馆中有各种类型的图书,图书信息包括:图书编号、图书名称、作者、出版社、种类、价格、出版时间等;读者信息包括:姓名、性别、单位、出生日期等.2.预计功能描述1。 基础数据维护。2。 图书的插入。(数量1)3. 图书的删除与修改。4。 图书查询。5. 图书借阅与归还。(可以查询图书当前被谁借走及剩余数量.每人能同时最多能借5本书,超过5本不能再借阅.)6。 读者查询。可以查询读者目前已借的图书信息及借阅时间与归还时间7。 权限设置。8。 帮助等。3。功能的实现3.1主界面设置主界面中仅有

2、一个MainMenu控件,如图所示:在“管理员登录”中输入以下代码:procedure TMain。AdLoginClick(Sender: TObject);begin FrmLogin.Caption:=管理员登陆; /把登陆界面标题改为“管理员登陆 FrmLogin。ShowModal; /显示登陆界面end;在“用户登录”中输入以下代码:procedure TMain。CoLoginClick(Sender: TObject);begin FrmLogin。Caption:=用户登陆; /把登陆界面标题改为“用户登录 FrmLogin。ShowModal; /显示登陆界面end;在“退

3、出中输入以下代码(为简便起见,下文中未注明的“退出”与“取消”按钮与此操作相同,不予以再次注明):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

4、存放用户类型begin ADOQryUser.SQL.Clear; CmdStr:=select* From 用户(管理员) Where 用户名=+QuotedStr(EdtUserName。Text)+and 口令=+QuotedStr(EdtPass.Text); AdoQryUser。SQL。Add(CmdStr); AdoQryUser.Open; if AdoQryUser。RecordCount0 then /确认该用户存在 begin UsrType:=ADOQryUser.FieldList2.AsInteger; if UsrType=0 then /0为普通用户 if Fr

5、mLogin.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; /图书借

6、阅及归还按钮不可用 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

7、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

8、 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。Ena

9、bled:=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。BkSearchC

10、lick(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);

11、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

12、 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 图书); DBEdit

13、Book.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); /确认查询v

14、ar 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

15、: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。T

16、abSheet1Show(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); ADOQr

17、yJieshu。Open; /显示各种查询到的信息 Edit1.text:=ADOQryJieshu。FieldList3.AsString; Edit2。text:=ADOQryJieshu。FieldList4。AsString; Edit3。text:=ADOQryJieshu。FieldList6.AsString; Edit4。text:=ADOQryJieshu.FieldList5.AsString; Edit8.Text:=ADOQryJieshu.FieldList7.AsString; leixin:=ADOQryJieshu.FieldList2。AsInteger; c

18、ase 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。E

19、dtUserName。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.TextFrmLogin。EdtPass.Text then /确认原密码正确 messagedlg(原

20、密码错误,请重输,mtinformation,mbyes,mbno,0) else if Edit6.Text=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.Fiel

21、dList7。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 图书编号=+quotedst

22、r(edit2。Text); ADOQuery1.sql.Add(chaxun); ADOQuery1.open; TS:=ADOQuery1。FieldList1.ASString; /提取该编号的图书名称 ADOQuery1。close; ADOQuery1.sql。Clear; chaxun:=select from 用户(管理员) where 用户名=+quotedstr(edit1。Text); ADOQuery1.sql.Add(chaxun); ADOQuery1。open; YH:=ADOQuery1.FieldList3.ASString; /提取该用户的姓名 /以下是借书步

23、骤 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

24、。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

25、; /执行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

26、。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); AD

27、OQuery1.open; ADOQuery1.ACtive:=true; end end endend;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

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服