图书馆图书信息管理系统程序设计文档.docx

上传人:b****6 文档编号:7052825 上传时间:2023-01-16 格式:DOCX 页数:53 大小:1.17MB
下载 相关 举报
图书馆图书信息管理系统程序设计文档.docx_第1页
第1页 / 共53页
图书馆图书信息管理系统程序设计文档.docx_第2页
第2页 / 共53页
图书馆图书信息管理系统程序设计文档.docx_第3页
第3页 / 共53页
图书馆图书信息管理系统程序设计文档.docx_第4页
第4页 / 共53页
图书馆图书信息管理系统程序设计文档.docx_第5页
第5页 / 共53页
点击查看更多>>
下载资源
资源描述

图书馆图书信息管理系统程序设计文档.docx

《图书馆图书信息管理系统程序设计文档.docx》由会员分享,可在线阅读,更多相关《图书馆图书信息管理系统程序设计文档.docx(53页珍藏版)》请在冰豆网上搜索。

图书馆图书信息管理系统程序设计文档.docx

图书馆图书信息管理系统程序设计文档

Delphi

(图书信息管理系统)

 

学院:

数计学院

专业:

08信管

学号:

080304041

姓名:

林燕玉

 

(图书信息管理系统)

 

1.概述………………………..3.

2需求分析………………………..3.

3.系统模块分析图………………………..3.

4.数据库设计………………………..4.

4.1图书信息表…………………………….4.

4.2读者信息表…………………………….5.

4.3图书借阅表…………………………….6.

4.4用户信息表…………………………….7.

5.系统模块设计………………………..7.

5.1主窗体的创建…………………………….7.

5.2数据模块窗体设计…………………………….11.

5.3登录窗体设计……………………………11.

5.4用户密码窗体设计……………………………13.

5.5添加用户窗体设计…………………………..14.

5.6修改密码窗体设计…………………………..16.

5.7信息查询窗体设计…………………………..17.

5.8图书管理窗体设计…………………………..23.

5.9读者管理窗体设计…………………………..27.

5.10借阅管理窗体设计…………………………..31.

5.11规章制度窗体设计…………………………..36.

5.12图书馆背景窗体设计…………………………..37.

6.本系统各个功能的运行…………………………..37.

7.总体设计方案的分析…………………………..38.

8.出现的问题及解决方法…………………………..38.

9.小结…………………………..39.

一、概述:

本系统是介绍一个用delphi为开发工具基于ADO的图书馆图书管理系统。

图书管理系是以数据库为支撑的应用程序,提出了权限管理模块的具体实现方法,并完成了相关模块设计。

其功能包括用户管理、图书或读者或借阅查询、图书或读者管理以及图书借还等。

本系统使用Access数据库存储图书管理的基本信息。

二:

需求分析:

●主要功能

本图书管理系统主要是实现对图书信息的查询和管理,其功能为:

1操作系统:

分为四个部分:

ⅰ.登录:

根据不同的用户的权限不同,可进行不同的操作;

ⅱ.用户管理:

增加和删除系统用户,并制定用户的权限;

ⅲ.修改密码:

可修改当前用户自己的密码;

ⅳ.退出系统:

退出程序,关闭窗口。

②信息查询:

分为三个部分查询:

ⅰ.图书查询:

可根据书号、书名、出版社、作者分别来查询图书的基本信息,也可模糊查询来查询图书的全部基本信息;

ⅱ.读者查询:

可根据书号借书证号、姓名来查询读者的基本信息,也可根据模糊查询来查询读者的全部基本信息;

ⅲ.借阅查询:

可根据借书证号来查询图书被借阅的基本信息,也可根据模糊查询来查询图书借阅的全部基本信息。

③图书管理:

分为三个部分管理:

ⅰ.图书管理:

a.新书入库:

添加新的书籍;

b.浏览图书:

可根据书号来浏览图书

ⅱ.读者管理:

添加、修改、删除读者信息,刷新可查看读者的信息;

ⅲ.图书借还:

实现图书的借出和归还的管理。

④关于图书馆:

a.图书馆制度:

实现对图书馆规章制作的查看;

b.图书馆背景:

实现对本图书馆了解。

在本系统中,主要采用“用户登录”来进行子系统的切换,使不同权限的用户能在对应的子系统下正常操作。

三.系统功能模块分析图:

四、数据库设计:

⑴.名称:

图书信息表;

表名称标识:

book;

表结构示意图如下所示:

用户信息表数据图如下所示:

⑵.名称:

读者信息表;

表名称标识:

reader;

表结构示意图如下所示:

读者信息表数据如下:

⑶.名称:

借阅图书信息表;

表名称标识:

lend;

表结构如下所示:

借阅图书信息表数据如下所示:

⑷.名称:

用户信息表;

表名称标识:

usera;

表结构图如下所示:

用户名称信息表数据如下所示:

五、系统模块设计:

⑴.主窗体的创建

主窗体的名字:

mainform,对应的单元文件为:

main.pas,在窗体中添加一个mainmenu组件,一个statusbar组件,一个image组件,程序界面如下图所示:

程序主要代码:

var

Mainform:

TMainform;

mypath:

string;

implementation

usesbook,reader,lend,infoquery,dl,xgmm,xgyh,about,gz;

{$R*.dfm}

procedureTMainform.FormCreate(Sender:

TObject);

begin

mypath:

=extractfilepath(paramstr(0));//程序当前的途径

shortdateformat:

='yyyy/mm/dd';

n1.enabled:

=false;

n2.enabled:

=false;

n3.enabled:

=false;

n4.enabled:

=false;

n5.enabled:

=false;

n6.enabled:

=false;

n7.enabled:

=false;

n8.enabled:

=false;

n11.enabled:

=false;

n12.enabled:

=false;

Mainform.statusbar1.panels[4].Text:

=datetostr(now);//显示现在时间

end;

procedureTMainform.Button1Click(Sender:

TObject);

begin

bookform.show;

end;

procedureTMainform.Button2Click(Sender:

TObject);

begin

readerform.show;

end;

procedureTMainform.Button3Click(Sender:

TObject);

begin

lendform.show;

end;

procedureTMainform.Button4Click(Sender:

TObject);

begin

close;

end;

procedureTMainform.Button5Click(Sender:

Tobject);

begin

queryform.show;

end;

procedureTMainform.Button6Click(Sender:

TObject);

begin

button5click(sender);

end;

procedureTMainform.Button7Click(Sender:

TObject);

begin

button5click(sender);

end;

procedureTMainform.Button8Click(Sender:

TObject);

begin

dl_form.show;

end;

procedureTMainform.Button11Click(Sender:

TObject);

begin

close;

end;

procedureTMainform.Button10Click(Sender:

TObject);

begin

xgmm_Form.show;

end;

procedureTMainform.Button9Click(Sender:

TObject);

begin

xgyh_Form.show;

end;

 

procedureTMainform.N2Click(Sender:

TObject);

begin

queryform.show;//显示图书查询

end;

procedureTMainform.N3Click(Sender:

TObject);

begin

button5click(sender);//显示图书管理系统

end;

procedureTMainform.N4Click(Sender:

TObject);

begin

button5click(sender);//显示借阅查询

end;

procedureTMainform.N6Click(Sender:

TObject);

begin

bookform.show;//显示图书管理

end;

procedureTMainform.N7Click(Sender:

TObject);

begin

readerform.show;//显示读者管理

end;

procedureTMainform.N8Click(Sender:

TObject);

begin

lendform.show;//显示借阅管理

end;

procedureTMainform.N10Click(Sender:

TObject);

begin

dl_form.show;//显示登录

end;

procedureTMainform.N11Click(Sender:

TObject);

begin

xgyh_Form.show;//显示用户管理

end;

procedureTMainform.N12Click(Sender:

TObject);

begin

xgmm_Form.show;//显示修改密码

end;

procedureTMainform.N13Click(Sender:

TObject);

begin

close;//退出系统

end;

procedureTMainform.Timer1Timer(Sender:

TObject);

begin

Mainform.statusbar1.panels[4].Text:

=FormatDateTime('yyyy年mm月dd日.',now())+timetostr(now);

end;

procedureTMainform.N16Click(Sender:

TObject);

begin

about_form.show;//显示图书馆背景

end;

procedureTMainform.N15Click(Sender:

TObject);

begin

gz_form.show;//显示图书馆规章制度

end;

⑵.数据模块设计窗体:

建立一个数据模块(datamodule)来存放ADO组件对象,便于窗体统一使用ADO组件来访问数据库,命名为:

DataModuleADO,在窗体中添加一个ADOConnection组件,三个ADOQuery组件,两个ADOTable组件,一个DataSource组件。

程序界面如下图所示:

程序主要代码如下:

procedureTDataModuleADO.DataModuleCreate(Sender:

TObject);

begin

adoconnection1.ConnectionString:

='Provider=Microsoft.Jet.OLEDB.4.0;UserID=admin;DataSource='

+mypath+'\data\bookmanage.mdb;PersistSecurityInfo=False';

adoquery1.Connection:

=adoconnection1;

adotable1.Connection:

=adoconnection1;

ADOQuery2.ConnectionString:

='Provider=Microsoft.Jet.OLEDB.4.0;DataSource=.\data\bookmanage.mdb;PersistSecurityInfo=False';

ADOQuery3.ConnectionString:

='Provider=Microsoft.Jet.OLEDB.4.0;DataSource=.\data\bookmanage.mdb;PersistSecurityInfo=False';

end;

⑶.登录窗体设计:

窗体的名字为:

dlform,对应的单元文件为:

dl.pas。

在窗体中添加两个label组件,两个edit组件,两个speedbutton组件。

程序的界面如下所示:

程序的主要代码如下:

procedureTdl_Form.Button1Click(Sender:

TObject);

begin

close;

end;

procedureTdl_Form.SpeedButton1Click(Sender:

TObject);

var

vqx:

string;

begin

withdataModuleADO.ADOQuery1do

begin

close;

sql.Clear;

SQL.Add('select*fromuserawhere(yhm=:

yhm1)and(mm=:

mm1)');

parameters.ParamByName('yhm1').Value:

=Edit1.text;

parameters.ParamByName('mm1').Value:

=Edit2.text;

open;

ifrecordcount=0then

begin

showmessage('用户名或密码错!

');

edit2.Text:

='';

end

else

begin

vqx:

=fieldbyname('qx').asstring;

Mainform.dlname:

=mainform.statusbar1.panels[0].text;

Mainform.statusbar1.panels[0].Text:

='登录用户:

'+trim(dl_form.Edit1.text);

mainform.n12.enabled:

=true;

ifvqx='1'then

begin

Mainform.statusbar1.panels[1].Text:

='用户权限:

读者';

mainform.n11.enabled:

=false;

mainform.n1.enabled:

=true;

mainform.n2.enabled:

=true;

mainform.n3.enabled:

=false;

mainform.n4.enabled:

=true;

mainform.n5.enabled:

=true;

mainform.n6.enabled:

=false;

mainform.n7.enabled:

=false;

mainform.n8.enabled:

=true;

end

else

begin

Mainform.statusbar1.panels[1].Text:

='用户权限:

管理者';

mainform.n11.enabled:

=true;

mainform.n1.enabled:

=true;

mainform.n2.enabled:

=true;

mainform.n3.enabled:

=true;

mainform.n4.enabled:

=true;

mainform.n5.enabled:

=true;

mainform.n6.enabled:

=true;

mainform.n7.enabled:

=true;

mainform.n8.enabled:

=true;

end;

Button1Click(Sender);

edit1.text:

='';

edit2.text:

='';

end;

end;

end;

procedureTdl_Form.SpeedButton2Click(Sender:

TObject);

begin

close;

end;

⑷.用户密码窗体设计:

窗体的名字为:

xxgh_form,对应的单元文件为:

xxgh.pas。

在窗体中添加一个Dbgrid组件,一个datasource组件,一个mainmenu组件,界面如下所示:

程序主要的代码如下:

procedureTxgyh_Form.FormShow(Sender:

TObject);

var

sqlstr:

string;

begin

DataSource1.DataSet:

=dataModuleADO.ADOQuery1;

DBGrid1.DataSource:

=DataSource1;

sqlstr:

='selectyhmas用户名,mmas密码,qxas权限fromusera';

withdataModuleADO.ADOQuery1do

begin

close;

sql.Clear;

SQL.Add(sqlstr);

open;

end;

end;

procedureTxgyh_Form.N1Click(Sender:

TObject);

begin

xgyh_Form.Visible:

=false;

tjyh_Form.show;

end;

procedureTxgyh_Form.N2Click(Sender:

TObject);

var

vmsg,vyhm,sqlstr:

string;

begin

vyhm:

=dataModuleADO.ADOQuery1.FieldByName('用户名').AsString;

ifvyhm=mainForm.dlnamethen

begin

ShowMessage('不能删除当前用户!

');

exit;

end;

vmsg:

='确实要删除“'+vyhm+'”用户?

';

ifMessageDlg(vmsg,mtConfirmation,[mbYes,mbNo],0)=mrNothenexit;

sqlstr:

='deletefromuserawhere(yhm='''+vyhm+''')';

withdataModuleADO.ADOQuery1do

begin

Close;

SQL.Clear;

SQL.Add(sqlstr);

ExecSQL;

end;

xgyh_Form.FormShow(Sender);

end;

procedureTxgyh_Form.N3Click(Sender:

TObject);

begin

close;

end;

⑸.添加用户窗体设计:

窗体的名字为:

tjyh_form,对应的单元文件为tjyh.pas。

在窗体中添加三个label组件,两个edit组件,一个combobox组件,两个button组件,程序的界面如下:

程序的主要代码如下:

procedureTtjyh_Form.Button2Click(Sender:

TObject);

begin

xgyh_Form.Visible:

=true;

xgyh_Form.FormShow(Sender);

close;

end;

procedureTtjyh_Form.Button1Click(Sender:

TObject);

var

vmm,vyhm,vqx,sqlstr:

string;

begin

iftrim(Edit1.Text)=''then

begin

ShowMessage('用户名不能为空!

');

exit;

end;

vmm:

=Edit2.Text;

vyhm:

=Edit1.Text;

sqlstr:

='select*fromuserawhere(yhm='''+vyhm+''')';

withdataModuleADO.ADOQuery1do

begin

close;

sql.Clear;

SQL.Add(sqlstr);

open;

end;

ifdataModuleADO.ADOQuery1.RecordCount>0then

begin

ShowMessage('该用户已经存在,请选择“删除用户”!

');

exit;

end;

ifComboBox1.Text='管理员'then

vqx:

='1'

else

vqx:

='0';

sqlstr:

='insertintousera(yhm,mm,qx)values(:

yhm,:

mm,:

qx)';

withdataModuleADO.ADOQuery1do

begin

Close;

SQL.Clear;

SQL.Add(sqlstr);

Parameters.ParamByName('yhm').Value:

=vyhm;

Parameters.ParamByName('mm').Value:

=vmm;

Parameters.ParamByName('qx').Value:

=vqx;

ExecSQL;

end;

tjyh_Form.Button2Click(Sender);

end;

⑹.修改密码窗体设计:

窗体的名字:

xxgm_form,对应的单元文件为:

xxgm.pas。

在窗体中添加

三个edit组件,三个label组件,两个button组件,程序界面如下:

程序的主要代码:

procedureTxgmm_Form.Button1Click(Sender:

TObject);

var

vymm,vxmm,vyhm,sqlstr:

string;

begin

vymm:

=Edit1.Text;

vxmm:

=Edit2.Text;

vyhm:

=mainForm.dlname;

sqlstr:

='select*fromuserawhere(yhm='''+vyhm+''')';

withdataModuleADO.ADOQuery1do

begin

close;

sql.Clear;

SQL.Add(sqlstr);

open;

ifrecordcount>0then

begin

vymm:

=FieldByName('mm').AsString;

ifvymm<>Edit1.Textthen

begin

ShowMessage('原密码不正确!

');

exit;

end

else

begin

ifEdit2.Text<>Edit3.Textthen

begin

ShowMessage('新密码与确认密码不一致!

');

exit;

end

else

begin

sqlstr:

='updateuserasetmm='''+vxmm+'''w

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

当前位置:首页 > 总结汇报

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

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