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

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

图书馆管理系统
1•信息描述
图书馆中有各种类型的图书,图书信息包括:图书编号、图书名称、作者、出版社、种类、价格、出版时间等;读者信息包括:姓名、性别、单位、出生日期等。

2. 预计功能描述
1. 基础数据维护。

2. 图书的插入。

(数量>1)
3. 图书的删除与修改。

4. 图书查询。

5. 图书借阅与归还。

(可以查询图书当前被谁借走及剩余数量。

每人能同时最多能借5
本书,超过5本不能再借阅。


6. 读者查询。

可以查询读者目前已借的图书信息及借阅时间与归还时间
7. 权限设置。

8. 帮助等。

3. 功能的实现
3.1主界面设置
主界面中仅有一个Mai nMe nu控件,如图所示:
'鼻圉书谊営理系统 D •回.砥」
在“管理员登录”中输入以下代码:
procedure TMai n.AdLogi nClick(Se nder: TObject);
begin
FrmLogi n.Captio n:='
FrmLogi
n.ShowModal; en d; 管理员登陆’;//
//
把登陆界面标题改为“管理员登陆”
显示登陆界面
在“用户登录”中输入以下代码:procedure TMain. CoLogi nClick(Se nder: TObject); begin
FrmLogi n.Captio n:='
FrmLogi n.ShowModal; en d; 用户登陆’;//
//
把登陆界面标题改为“用户登录”
显示登陆界面
在“退出”中输入以下代码此操作相同,不予
以再次注明)
procedure TMai n.ExitClick(Se nder:
TObject); begin
close;
en d;
(为简便起见,下文中未注明的“退出”与“取消”按钮与
3.2登录界面的设置
登录界面的主要控件: 2 个Lable、2 个Edit、2 个BitButton 、ADOQuery DataSourse。

如图:
殺FrnnLogtn
在确定按钮中输入以下代码:
procedure TFrmLogi n.Bt nO KClick(Se nder:
TObject); Var
CmdStr: Stri ng; //CmdStr UsrType: in teger; //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=' 管理员登陆,提醒其换
登陆begin messagedlg(' ',mtinformation,[mbyes,mbno],0);
close;
end
// 登陆成功else
为普通用户管理员登陆' then //
此账号不是管理员,
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=' 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 。

如图:
其他的是顶级管理员
用户登录 ' then
此账号不是用户,请使用管理员登录
管理员使用
普通管理员可
顶级管理员
退出登录
此界面的主要代码如下:
procedure TFrmWork.BkExitClick(Se nder: TObject); begin close; en d;
procedure TFrmWork.BkSearchClick(Se nder: TObject); begin FrmBkSearch.ShowModal; // 显示图书查询界面
en d;
procedure TFrmWork.BkRdMa nageClick(Se nder: TObject); begin FrmRdMa nage.ShowModal; // 显示用户管理界面 en d;
procedure TFrmWork.BkMa nageClick(Se nder: TObject); begin FrmBkMa nage.ShowModal; // 显示图书管理界面 en d;
procedure TFrmWork.BkReaderClick(Se nder: TObject); begin FrmReader.ShowModal; // 显示读者服务界面 en d;
procedure TFrmWork.BkBorLCIick(Se nder: TObject); begin
f
申 FrmWork
圏书查询
:尊敬的用才
囹书借阅与归还
圏书管理 用户管理
欢迎来到本系统!
FrmBkBa ndL.showModal; // 显示图书借阅与归还界面
en d;
3.4图书查询界面
图书查询界面的主要控件为:Lable、DBEdit、Button、BitButton 、RadioGroup、DBGrid、DataSourse 和ADOQurey 如图:
»匱书查词
选择查询条件的代码为:
procedure TFrmBkSearch.rdgClick(Se nder: TObject); // 查询条件的改变begin
ADOQryCo ndtio n.Close;
ADOQryCo nDtio n.SQL.CIear;
Case rdg.I temI ndex of
0:
begin
ADOQryCondtion.SQL.Add('select 图书名称from 图书');
DBEditBook.DataField:=' 图书名称';
en d;
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); // ADOQryXx.Active:=true; // 写入SQL语句显示查询结果
end;
3.5 读者服务界面读者服务界面的主
要控件为:bitbutton 、DBGrid
等。

DataSourse 、ADOQuery、Edit 、Table 、PageControl 、
1:
Edit9.Text:='
管理员
1
用户債息查询;图书借阅黄询
I 密码修改・|
此TabSheet 的On Show 事件代码为:
procedure TFrmReader.TabSheet1Show(Se nder: TObject); // 实现了用户信息查询
var
ADOQryJieshu.Ope n; //
显示各种查询到的信息
Edit1.text:=ADOQryJieshu.FieldList[3].AsStri ng; Edit2.text:=ADOQryJieshu.FieldList[4].AsStri ng; Edit3.text:=ADOQryJieshu.FieldList[6].AsStri ng; Edit4.text:=ADOQryJieshu.FieldList[5].AsStri ng;
Edit8.Text:=ADOQryJieshu.FieldList[7].AsStri ng; leixi n:=ADOQryJieshu.FieldList[2].As In teger; case leixin of 0:
Edit9.Text:='
普通用户’;
1.用户信息查询:
CZ1
退出
chazhao: String; // leixin: integer; //
begin
ADOQryJieshu.Close; ADOQryJieshu.SQL.CIear; chazhao:='select* From
保存查询语句 保存用户类型
='+QuotedStr(FrmLogi n.EdtUserName.Text)+'a nd
='+QuotedStr(FrmLogi n.EdtPass.Text);
ADOQryJieshu.SQL.Add(chazhao); 用户(管理员) Where 用户名 口

姓名

出生曰期
2:
Edit9.Text:=' en d; en d;
2.图书借阅查询
用户信息資词圏书借阅查询
處码储改
1 ’
此TabSheet 的On Show 事件代码为:
procedure TFrmReader.TabSheet2Show(Se nder: TObject); // 籍的显示 var
chax un: String; begin
ADOQuery1.Close; ADOQuery1.SQL.CIear; chaxun:='select* From
借书 Where 用户名
='+QuotedStr(FrmLogi n.EdtUserName.Text);
ADOQuery1.SQL.Add(chaxu n); ADOQuery1.Ope n; ADOQuery1.Active:=true; en d;
3.密码修改
顶级管理员
实现该用户所借书
点击确认修改按钮的代码是:
procedure TFrmReader.BitBt n2Click (Se nder: TObject ); // 实现密码的修改
var
xiugai: Stri ng; //
保存修改语句
begin
ADOQuery1.Close; ADOQuery1.SQL.CIear;
if Edit5.Text<>FrmLogi n.EdtPass.Text the n //
确认原密码正确
messagedlg (' 原密码错误,请重输',mt in formati on ,[mbyes,mb no ],0)
else
if Edit6.Text<>Edit7.Text the n
// 确保两次输入密码相同
messagedlg (' 确认密码与新密码不匹配,请重输
',mt in formati on ,[mbyes,mb no ],0)
// 修改密码 else begin
xiugai:='Update
用户(管理员)set 口令=:口令where 用户名
='+QuotedStr (FrmLogi n.EdtUserName.Text );
ADOQuery1.SQL.text:=xiugai;
ADOQuery1 .P arameters.ParamByName (' 口令').Value:=trim (Edit6.Text );
ADOQuery1.ExecSQL; en d; Edit5.Text:="; Edit6.Text:=”; Edit7.Text:="; en d;

CZ3。

相关文档
最新文档