用VB编写一个简单的图书管理系统.docx

上传人:b****0 文档编号:9626844 上传时间:2023-05-20 格式:DOCX 页数:43 大小:566.29KB
下载 相关 举报
用VB编写一个简单的图书管理系统.docx_第1页
第1页 / 共43页
用VB编写一个简单的图书管理系统.docx_第2页
第2页 / 共43页
用VB编写一个简单的图书管理系统.docx_第3页
第3页 / 共43页
用VB编写一个简单的图书管理系统.docx_第4页
第4页 / 共43页
用VB编写一个简单的图书管理系统.docx_第5页
第5页 / 共43页
用VB编写一个简单的图书管理系统.docx_第6页
第6页 / 共43页
用VB编写一个简单的图书管理系统.docx_第7页
第7页 / 共43页
用VB编写一个简单的图书管理系统.docx_第8页
第8页 / 共43页
用VB编写一个简单的图书管理系统.docx_第9页
第9页 / 共43页
用VB编写一个简单的图书管理系统.docx_第10页
第10页 / 共43页
用VB编写一个简单的图书管理系统.docx_第11页
第11页 / 共43页
用VB编写一个简单的图书管理系统.docx_第12页
第12页 / 共43页
用VB编写一个简单的图书管理系统.docx_第13页
第13页 / 共43页
用VB编写一个简单的图书管理系统.docx_第14页
第14页 / 共43页
用VB编写一个简单的图书管理系统.docx_第15页
第15页 / 共43页
用VB编写一个简单的图书管理系统.docx_第16页
第16页 / 共43页
用VB编写一个简单的图书管理系统.docx_第17页
第17页 / 共43页
用VB编写一个简单的图书管理系统.docx_第18页
第18页 / 共43页
用VB编写一个简单的图书管理系统.docx_第19页
第19页 / 共43页
用VB编写一个简单的图书管理系统.docx_第20页
第20页 / 共43页
亲,该文档总共43页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

用VB编写一个简单的图书管理系统.docx

《用VB编写一个简单的图书管理系统.docx》由会员分享,可在线阅读,更多相关《用VB编写一个简单的图书管理系统.docx(43页珍藏版)》请在冰点文库上搜索。

用VB编写一个简单的图书管理系统.docx

用VB编写一个简单的图书管理系统

用VB编写一个简单的图书管理系统

Srl2011009(学号) 石二辽()  指导教师 徐哲鑫

【摘 要】笔者采用VisualBasic6.0为开发工具,设计一款具备友好的图形用户界面、简便操作的图书管理系统。

充分利用计算机功能实现读者管理、书籍管理、借还书籍管理等信息的自动化控制,将使图书管理员从繁杂、重复的劳作中解放出来。

【关键词】图书;面向对象;软件工程

1概述

1.1开发背景

用计算机管理图书馆里一切信息是一种计算机应用技术的创新,在计算机还未普及之前图书管理都是由图书管理人员手工记帐的方式来操作的.现在一般的图书馆都是采用计算机作为工具,使用实用的图书管理程序来帮助图书馆管理员进行更有效的图书管理。

1.2图书管理系统产生的背景

图书管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。

对于台数据库的建立和维护要求建立起数据一致性和完整性强、数据安全性好的库。

而对于前端应用程序则要求应用程序具备功能完备、友好的图形用户界面、便捷使用等特点[1]。

1.3系统功能要求的分析

开发本系统的总体任务是实现图书管理系统的系统化和自动化,帮助图书管理员更好更高效地完成图书管理工作,本系统要完成的功能主要有:

书籍管理部分:

图书类别管理和图书信息管理。

其中,书籍类别管理包括添加书籍类别、修改书籍类别、删除书籍类别等;书籍信息管理包括书籍信息的添加、修改、查询、删除等。

读者管理部分:

读者类别管理和读者信息管理,读者类别管理包括读者类别添加、修改、删除等;读者信息包括读者添加读者信息、修改读者信息、查询读者信息、删除读者信息等。

借阅管理部分:

借书信息管理和还书信息管理,借书信息管理、还书信息管理均包括其信息的添加、修改、查询等。

系统管理部分:

添加管理员,修改密码,退出系统。

2开发环境及实现技术介绍

2.1开发软件介绍

由于我的工作单位是一所中心小学,有大量的书籍,读者有学生、老师,于是本人想设计一款实用的图书管理系统,方便学校图书管理员工作,增强图书借阅力度,良好地管理书籍及其借阅信息。

2.2模块设计[2]

书籍管理部分实现对书籍类别、书籍信息的添加、修改、删除等操作。

读者管理部分实现对读者类别、读者信息的添加、修改、删除等操作。

借阅管理部分实现对借书信息、还书信息的添加、修改、查询等操作。

系统管理部分实现超级用户对普通用户的用户名和密码对注册、修改等操作。

2.3程序预览

运行本系统程序,首先出现登录界面(图2),输入正确用户名及密码后进入主窗体(图3),主窗体上的主菜单栏有:

书籍管理、读者管理、借阅管理、系统设置及帮助。

图2

图3

2.3.1书籍管理功能

“书籍管理”菜单下有两个一级菜单:

“书籍信息管理”和“书籍类别管理”。

具体操作如下:

1.“书籍类别管理”下有三个子菜单:

“新增”、“修改”、“删除”。

单击“新增”菜单,打开“新增书籍类别”窗体(图4)。

单击“修改”或“删除”,都会打开“书籍类别信息管理”窗体(图5)。

图4图5

2.“书籍信息管理”下有四个子菜单:

“新增图书”、“修改书籍信息”、“删除书籍信息”、“查询书籍信息”。

单击“新增图书”菜单,打开“新增书籍”窗体(图6)。

单击“修改”或“删除”,都会打开“书籍信息管理”窗体(图7)。

单击“查询书籍信息”菜单,打开“查询图书”窗体(图8)

图6

图7

图8

2.3.2读者管理功能

“读者管理”菜单下有两个一级菜单:

“读者类别管理”和“读者信息管理”。

1.“读者类别管理”下有3个子菜单:

“添加读者类别”、“修改读者类别”、“删除读者类别”。

单击“添加读者类别”菜单,打开“添加读者类别”窗体(图9);单击“修改读者类别”和“删除读者类别”菜单,都会打开“读者类别管理”窗体(图10)。

图9图10

2.“读者信息管理”菜单下有4个子菜单:

“添加读者信息”、“修改读者信息”、“删除读者信息”和“查询读者信息”。

单击“添加读者信息”菜单,打开“添加读者信息”窗体(图11),单击“修改读者信息”和“删除读者信息”菜单,都会打开“读者信息管理”窗体(图12),单击“查询读者信息”菜单,打开“查询读者信息”窗体(图13)。

图11

图12图13

2.3.3图书借阅管理功能

“借阅管理”菜单下有2个一级菜单:

“借书管理”和“还书管理”。

1.“借书管理”菜单下有2个子菜单:

“添加借书信息”和“查询借书信息”。

单击“添加借书信息”先打开的是“查询图书”窗体(图8),找到需要借阅的图书后,单击“借这本书按钮”,打开“借书”窗体(图14);单击“查询借书信息”菜单,打开“查询借书信息”窗体(图15)。

图14图15

2.单击“还书管理”,打开“还书”窗体(图16)。

图16

2.3.4系统管理功能

“系统管理”菜单下有3个子菜单,分别是“添加管理员”、“修改密钥”和“退出系统”。

单击“添加管理员”子菜单,打开“添加管理员”窗体(图17),单击“修改密钥”子菜单,打开“修改密码”窗体(图18),单击“退出系统”,备份数据并退出本系统。

图17图18

2.3.5帮助菜单

单击“帮助”菜单,打开系统信息窗体(图1),点击系统信息窗体任何一处,关闭该信息窗体,返回主窗体。

图1

2.4数据库设计

数据库名为sj.mdb,在库中设计六表,它们分别为dzlb(读者类别表)、dzxx(读者信息表)、jyxx(借阅信息表)、sjxx(书籍信息表)、sjlb(书籍类别表)、sys(系统管理表)。

2.4.1读者类别表,表名为dzlb,字段名称有读者类别名称、读者借书数量、借书期限及有限期限,设置“读者类别名称”为主键,是必填字段,不允许空值。

2.4.2读者信息表:

设置“读者编号”为主键,“读者编号”、“读者”为必填字段,不允许空值。

2.4.3借阅信息表:

2.4.4书籍信息表:

设置“图书编号”为主键,“图书编号”、“书籍名称”为必填字段,不允许空值。

2.4.5图书类别表:

2.4.6系统管理表:

2.4.7数据库连接方式选择

Visualbasic6.0连接数据库的主要方式有以下几种方式:

一是用data控件进行数据库,二是利用adodc(ADODataControl)进行数据库。

三是:

利用DataEnvironment进行数据库,四是利用ADO(ActiveXDataObjects)进行编程。

利用DAO对数据库进行操纵[3]:

在visualbasic中提供了两种与jet数据引擎接口的方法:

data控件与数据访问对象(DAO)DAO是databaseobject的英文缩写,要访问数据库一方面数据库要提供访问接口,另一方面要在编程环境中有对数据库的支持.

DAO模型是设计关系数据库系统结构的对象类的集合.他们提供了管理关系型数据库系统所需要的全部操作属性和方法,这其中包括建立数据库,定义表,字段和建立表间关系,定位和查询数据库等.

关系数据库介绍[4]:

关系数据库是目前各类数据库中最重要、最流行的数据库,他应用数学方法来处理数据库数据,是目前使用最广泛的数据库系统。

20世纪70年代以后开发的数据库管理系统产品几乎都是基于关系的。

在数据库发展的历史上,最重要的成就就是关系模型。

关系数据库系统与非关系数据库系统的区别是:

关系系统只有“表“这一种数据结构;而非关系数据库系统还有其他数据结构,对这些数据结构有其他的操作。

结构化查询语言SQL(StructuredQueryLanguage)是一种介于关系代数与关系演算之间的语言,其功能包括查询、操纵、定义和控制四个方面,是一个通用的、功能极强的关系数据库语言。

目前已成为关系数据库的标准语言。

Microsoft Access介绍:

使用 Microsoft Access,可以在单一的数据库文件中管理所有的信息。

在这个文件中,用户可以将自己的数据分别保存在各自独立的存储空间中,这些空间称作表;可以使用联机窗体来查看、添加及更新表中的数据;使用查询来查找并检索所要的数据;也可以使用报表以特定的版面布置来分析及打印数据。

如果要保存数据,请为每一种类型的信息创建一个表。

如果要从查询、窗体或报表中的多个表中将数据合并在一起,就要定义各个表之间的关系。

如果要搜索并检索符合指定条件的数据,包括来自多个表中的数据,就要创建查询。

查询的同时也可以更新或删除多条记录,并对数据执行嵌或自定义的计算。

如果要简单地直接在某个表中查看、输入及更改数据,请创建一个窗体。

在打开一个窗体时,Microsoft Access 将从一个或多个表中检索数据,并使用用户在“窗体向导”选择的版面布局或所创建的版面布局,将窗体显示在屏幕上。

如果要分析数据或将数据以特定的方式打印出来,请创建一个报表。

例如,可以打印一份将数据分组并计算数据总和的报表,也可以打印另一份带有各种数据格式的打印标签的报表。

2.5系统代码[5]

2.5.1主界面代码:

2.5.1.1添加管理员菜单

PrivateSubaddadmin_Click()

addadminf.Show

EndSub

2.5.1.2添加读者类别菜单

PrivateSubadddzlb_Click()

Adddzlbf.Show

EndSub

2.5.1.3添加读者信息菜单

PrivateSubadddzxxf_Click()

Adddzxxf.Show

EndSub

2.5.1.4添加还书信息菜单

PrivateSubaddhs_Click()

hsf.Show

EndSub

2.5.1.5添加借书信息菜单

PrivateSubaddjs_Click()

Jsf.Show

EndSub

2.5.1.6添加图书类别菜单

PrivateSubaddlb_Click()

addtslb.Show

EndSub

2.5.1.7查询读者信息菜单

PrivateSubcxdzxx_Click()

cxdzxxf.Show

EndSub

2.5.1.8查询借书信息菜单

PrivateSubcxjs_Click()

cxjsxxf.Show

EndSub

2.5.1.9查询书籍信息菜单

PrivateSubcxsj_Click()

cxsjf.Show

EndSub

2.5.1.10删除读者类别菜单

PrivateSubDeldzlb_Click()

dzlbxxf.Show

EndSub

2.5.1.11删除读者信息菜单

PrivateSubDeldzxx_Click()

dzxxglf.Show

EndSub

2.5.1.12删除书籍类别菜单

PrivateSubdellb_Click()

sjlbxxf.Show

EndSub

2.5.1.13帮助菜单

PrivateSubhlep_Click()

frmSplash.Show

EndSub

2.5.1.14退出系统菜单

PrivateSubUnload_Click()

end

EndSub

2.5.1.15修改读者类别菜单

PrivateSubXgdzlb_Click()

dzlbxxf.Show

EndSub

2.5.1.16修改读者信息菜单

PrivateSubxgdzxx_Click()

dzxxglf.Show

EndSub

2.5.1.17修改书籍类别菜单

PrivateSubxglb_Click()

sjlbxxf.Show

EndSub

2.5.1.18修改用户密码菜单

PrivateSubxgmm_Click()

xgmmf.Show

EndSub

2.5.1.19修改书籍信息菜单

PrivateSubxgts_Click()

sjxxf.Show

EndSub

2.5.1.20新增图书信息菜单

PrivateSubxzts_Click()

addtsf.Show

EndSub

2.5.2添加图书类别

添加图书类别代码:

PrivateSubCommand1_Click()

DimSq1AsString

Dimrs_addAsNewADODB.Recordset

Sql="select*fromsjlbwhere类别名称='"&Text1.Text&"'"

rs_add.OpenSql,Sjk,adOpenKeyset,adLockPessimistic

IfTrim(Text1.Text)=""Then

MsgBox"图书类别不能为空",vbOKOnly+vbExclamation,"注意"

Text1.SetFocus

ExitSub

EndIf

IfTrim(Text2.Text)=""Then

MsgBox"图书编号不能为空",vbOKOnly+vbExclamation,"注意"

Text2.SetFocus

ExitSub

EndIf

Ifrs_add.EOF=TrueThen

rs_add.AddNew

rs_add.Fields(0)=Trim(Text2.Text)

rs_add.Fields

(1)=Trim(Text1.Text)

rs_add.Update

MsgBox"成功地添加"&Text1.Text&"这一图书类别",vbOKOnly,"恭喜"

rs_add.Close

Else

MsgBox""&Text1.Text&"这一图书类别已存在",vbOKOnly+vbExclamation,"图书类别不能重复"

rs_add.Close

EndIf

Text1.SetFocus

Text1.Text=""

Text2.Text=""

EndSub

PrivateSubCommand2_Click()

UnloadMe

EndSub

2.5.3修改图书类别:

修改图书类别代码:

OptionExplicit

DimMyjlAsNewADODB.Recordset

PrivateSubForm_Load()

DimSq1AsString

OnErrorGoToloaderror

Sq1="select*fromsjlb"

Myjl.CursorLocation=adUseClient

Myjl.OpenSq1,Sjk,adOpenKeyset,adLockPessimistic

Cmdcancel.Enabled=False

Cmdupdate.Enabled=False

Dg.AllowAddNew=False

Dg.AllowDelete=False

Dg.AllowUpdate=False

SetDg.DataSource=Myjl

ExitSub

loaderror:

MsgBoxErr.Description

EndSub

PrivateSubCmdadd_Click()

Dg.AllowAddNew=True

Dg.AllowUpdate=True

Cmdadd.Enabled=False

Cmdupdate.Enabled=True

EndSub

PrivateSubCmdadd_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

Cmdadd.Caption="点击此处也可以添加"

Cmdadd.Width=3000

EndSub

PrivateSubCmdcancel_Click()

Myjl.CancelUpdate

Dg.Refresh

Dg.AllowAddNew=False

Dg.AllowUpdate=False

Cmdxg.Enabled=True

Cmddel.Enabled=True

Cmdcancel.Enabled=False

Cmdupdate.Enabled=False

EndSub

PrivateSubCmddel_Click()

DimSrlAsString

OnErrorGoTodelerror

Srl=MsgBox("确定要删除吗?

",vbYesNo)

IfSrl=vbYesThen

Dg.AllowDelete=True

Myjl.Delete

Myjl.Update

Dg.Refresh

Else

ExitSub

EndIf

delerror:

MsgBoxErr.Description

EndSub

PrivateSubCmdupdate_Click()

IfNotIsNull(Dg.Bookmark)Then

Myjl.Update

Cmddel.Enabled=True

Cmdxg.Enabled=True

Cmdcancel.Enabled=False

Cmdupdate.Enabled=False

Dg.AllowUpdate=False

MsgBox"修改成功",vbOKOnly+vbExclamation,"恭喜成功"

EndIf

Cmdadd.Width=1550

Cmdadd.Caption="高级"

Cmdadd.Enabled=True

EndSub

PrivateSubCmdxg_Click()

DimSrlAsString

OnErrorGoToxg

Cmddel.Enabled=False

Cmdxg.Enabled=False

Cmdupdate.Enabled=True

Cmdcancel.Enabled=True

Dg.AllowUpdate=True

xg:

IfErr.Number<>0Then

MsgBoxErr.Description

EndIf

EndSub

PrivateSubForm_Unload(CancelAsInteger)

SetDg.DataSource=Nothing

Myjl.Close

EndSub

2.5.4添加读者类别界面:

PrivateSubCommand1_Click()

DimSrlAsString

DimMybookAsNewADODB.Recordset

IfTrim(Text1.Text)=""Then

MsgBox"读者类别名称不能为空",vbOKOnly+vbExclamation,"注意"

Text1.SetFocus

ExitSub

EndIf

IfTrim(Text2.Text)=""Then

MsgBox"借书数量不能为空",vbOKOnly+vbExclamation,"注意"

Text2.SetFocus

ExitSub

EndIf

IfTrim(Text3.Text)=""Then

MsgBox"借书期限不能为空",vbOKOnly+vbExclamation,"注意"

Text3.SetFocus

ExitSub

EndIf

IfTrim(Text4.Text)=""Then

MsgBox"有效期限不能为空",vbOKOnly+vbExclamation,"注意"

Text4.SetFocus

ExitSub

EndIf

OnErrorGoToCw

Srl="select*fromdzlbwhere读者类别名称='"&Text1.Text&"'"

Mybook.OpenSrl,Sjk,adOpenKeyset,adLockPessimistic

IfMybook.EOFThen

Mybook.AddNew

Mybook.Fields(0)=Trim(Text1.Text)

Mybook.Fields

(1)=Trim(Text2.Text)

Mybook.Fields

(2)=Trim(Text3.Text)

Mybook.Fields(3)=Trim(Text4.Text)

Mybook.Update

MsgBox"您已经成功添加"&Text1.Text&"这一读者类别",vbOKOnly+vbExclamation,"添加成功!

"

Mybook.Close

Else

MsgBox"读者类别名称为"&Text1.Text&"重复",vbOKOnly+vbExclamation,"注意重复"

Text1.SetFocus

Text1.Text=""

Mybook.Close

ExitSub

EndIf

Cw:

MsgBoxErr.Description

EndSub

PrivateSubCommand2_Click()

UnloadMe

EndSub

PrivateSubForm_Load()

DimSq1AsString'定义一个字符串变量

DimMyjlAsNewADODB.Recordset'定义一个Recordset对象变量

EndSub

2.5.5查询读者信息代码:

PrivateSubForm_Load()

DimSq1AsString'定义一个字符串变量

DimMyjlAsNewADODB.Recordset'定义一个Recordset对象变量

Sq1="select*fromdzlb"

Myjl.OpenSq1,Sjk,adOpenKeyset,adLockPessimistic

DoWhileNotMyjl.EOF

Combo1.AddItemMyjl.Fields(0)

Myjl.MoveNext

Loop

Combo1.ListIndex=0

Myjl.Close

EndSub

PrivateSubCommand1_Click()

DimSrlAsString'定义一个字符串变量

DimMybookAsNewADODB.Recordset'定义一个Recordset对象变量

IfCheck1.Value=vbCheckedThen

Srl="读者编号='"&Trim(Text1.Text&"")&"'"

EndIf

IfCheck2.Value=vbCheckedThen

IfTrim(Srl)=""Then

Srl="读者='"&Trim(Text2.Text&"")&

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2