图书管理论文.docx

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

图书管理论文.docx

《图书管理论文.docx》由会员分享,可在线阅读,更多相关《图书管理论文.docx(32页珍藏版)》请在冰点文库上搜索。

图书管理论文.docx

图书管理论文

 

数据库课程设计

图书馆管理系统设计说明书

 

目录

一.图书馆管理系统需求分析…………………………………………………………………..3

1.1图书登记借阅功能………………………………………………………………………3

1.2图书查询功能…………………………………………………………………………….3

二.结构设计……………………………………………………………………………………….4

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

3.1建立数据库………………………………………………………………………………..4

四.界面设计…………………………………………………...……………………/.……………5

4.1创建主窗体……………………………………...………………………….……………6

4.2创建个子窗体……………………………………………………………….……………7

4.3建立公共模块……………………………………………………………………………10

五..窗体代码………………………………………..…………………………….……………...11

5.1主窗体代码……………………………………………..……………….……………...11

5.2图书登记子窗体代码…………………………………………………..……………….12

5.3增加用户子窗体代码…………………………………………………………………..14

5.4修改密码子窗体代码………………………………………..…………………………15

5.5图书资料管理子窗体代码……………………………………..……...……………….17

5.6查询子窗体代码……………………………………………………..…………………21

5.7用户登录子窗体代码…………………………………………………...………………23

六.课程设计总结和感想………………………………………………………………………...25

 

一、需求分析

  现某图书馆需要管理其各种人员和图书信息,希望实现办公的信息化,通过建立一个图书管理系统来管理图书。

其完成的功能如下:

(1)可以实现图书的登记、借阅管理。

(2)可以实现对图书的各种信息的查询,包括逐个浏览,以及对图书信息的增加、删除和编辑操作。

另外,可以根据输入的信息来检索某个图书的信息。

系统的功能模块图如图1所示。

图书登记实体E-R图如图2所示。

图书借阅实体E-R图如图3所示。

  

  图1系统的功能模块图

  

  图2图书登记实体E-R图

  

  图3图书借阅实体E-R图

  查询输出实体E-R图如图7所示。

  

  图7查询输出实体E-R图

二、结构设计

根据上面的需求分析,可以设计下面的几个模块。

图书管理模块:

用来实现图书的登记、借阅、赔偿。

图书资料模块:

用来实现图书的查询输出。

系统管理模块:

用来实现用户的增加、删除和修改等操作。

三、数据库设计

这里的数据库采用Access,用ADO作为连接数据对象。

建立Access数据库

启动Access,建立一个空的数据库book.mdb,如图8所示。

使用程序设计器建立系统需要的表格如下。

  

  图8建立数据库book.mdb图9图书登记表

  图书借阅表,如图10所示。

  

  图书资料表,如图12所示。

系统管理表,如图13所示。

四.界面设计 

设计好的界面如图20所示。

菜单应用程序中,有5个菜单选项,每个选项对应着E-R图的一个子项目。

1、创建主窗体

  首先创建一个工程,命名为图书管理系统,选择“工程”→“添加MDI窗体”命令,则在项目中添加了主窗体。

该窗体的一些属性如表1所示。

性值

Caption

图书管理系统

Name

Main

Menu

Mainmenu1

Windowstate

Maxsize

  将“菜单”组件从“工具箱”拖到窗体上。

创建一个Text属性设置为“文件”的顶级菜单项,且带有名为“关闭”的子菜单项。

类似地创建一些菜单项,如表2所示。

  表2菜单项表

菜单名称

Text属性

功能描述

MenuItem1

图书管理

顶级菜单,包含子菜单

MenuItem2

图书登记

调出图书登记窗体

MenuItem3

图书借阅

调出图书借阅窗体

MenuItem4

图书赔偿

调出图书赔偿窗体

MenuItem5

图书资料

顶级菜单,包含子菜单

MenuItem6

查询输出

调出查询输出窗体

MenuItem7

值班管理

顶级菜单,没有子菜单

MenuItem8

投诉管理

顶级菜单,没有子菜单

MenuItem9

系统管理

顶级菜单,包含子菜单

MenuItem10

增加用户

调出用户窗体

MenuItem11

修改密码

调出密码窗体

MenuItem12

退出

系统退出

2、创建各子窗体

在这个项目中,要创建的子窗体如表3所示。

表3所有子窗体

子窗体名

Text

图书登记

Frmdengji

图书借阅

Frmjieyue

图书赔偿

frmpeichang

增加新用户

frmadduser

查询输出

Frmfind

登录系统

Frmlogin

修改密码

frmchangepwd

下面分别给出这些子窗体,以及它们所使用的控件。

(1)图书登记子窗体如下图所示,其控件如表4所示。

  

图22图书登记子窗体

表4图书登记子窗体控件

控件类别

控件Name

控件Text

Label

Label1

编号

Label2

书名

Label3

类型

Label4

购买日期

Label5

定价

TextBox

Text1

(空)

Text2

(空)

Text3

(空)

Text4

(空)

Text5

(空)

CommandButton

Command1

增加记录

Command2

删除记录

Command3

下一条

Command4

上一条

Command5

第一条

Command6

最后一条

Command7

退出

ADO

DataAdodc1

(空)

DataGrid

DataGrid1

(空)

  图书借阅和图书赔偿子窗体分别如图23和图24所示,因为它们的控件与图书登记子窗体的雷同,在此不作介绍。

  

  图23图书借阅子窗体

(2)增加用户子窗体如图25所示,其控件如表5所示。

  

  图25增加用户子窗体

  表5增加用户子窗体控件

控件类别

控件Name

控件Text

Label

Label1

输入用户名

Label2

输入密码

Label3

确认密码

Label4

选择权限

TextBox

Text1

(空)

Text2

(空)

Text3

(空)

ComboBox

Comb1

(空)

CommandButton

Commandl

确定

Command2

取消

(3)修改密码子窗体如图26所示。

  

  图26修改密码子窗体

  其控件如表6所示。

控件类别

控件Name

控件Text

TextBox

Text1

(空)

ComboBox

Combo1

 

MSFlexGrid

MSFlexGrid1

 

(4)查询子窗体如图28所示,其控件如表7所示。

  

  图28查询子窗体

  表7查询子窗体控件

控件类别

控件Name

控件Text

OptionButton

Option1

按编号查询

 

Option2

按购买日期查询

Label

Label1

Label2

Label3

Label4

Label5

Label6

Label7

Label8

Label9

Label10

Combo(0)ComboBox

Combo1

(空)

Combo

(1)ComboBox

Combo1

(空)

Comboy(0)ComboBox

Comboy

(空)

Comboy

(1)ComboBox

Comboy

(空)

Combom(0)ComboBox

Combom

(空)

Combom

(1)ComboBox

Combom

(空)

Combod(0)ComboBox

Combod

(空)

Combod

(1)ComboBox

Combod

(空)

CommandButton

Command1

 查询

Command2

取消

(5)用户登录子窗体如图29所示。

  

  图29用户登录子窗体

建立公共模块

1、显示目录

建立公共模块可以提高代码的效率,同时使得修改和维护代码都很方便。

创建公共模块的步骤如下:

(1)在菜单中选择“工程”→“添加模块”命令,则出现模块对话框,如图32所示。

(2)选择模块图标后,单击“打开”按钮,则模块已经添加到项目中了。

默认情况下名为Module1。

(3)在模块中定义整个项目的公共变量。

PublicconnAsNewADODB.Connection'标记连接对象

PublicuserIDAsString'标记当前用户ID

PublicuserpowAsString'标记用户权限

PublicfindAsBoolean'标记查询

PublicsqlfindAsString'查询语句

Publicrs_data1AsNewADODB.Recordset

PublicfindokAsBoolean

PublicfrmdataAsBoolean

PublicConstkeyenter=13'enter键的ASCII码

在主窗体添加完菜单之后,就要为各个子菜单创建事件处理程序。

五.窗体代码

1.主窗体代码

在本项目中,子菜单事件都是Click事件,其代码如下。

下面是响应“增加用户”子菜单Click事件,调出增加用户窗体代码。

PrivateSubadduser_Click()

frmadduser.Show

EndSub

下面是响应“查询输出”子菜单Click事件,调出查询输出窗体代码。

PrivateSubchaxunshuchu_Click()

frmfind.Show

EndSub

下面是响应“退出”子菜单Click事件,调出退出窗体代码。

PrivateSubexit_Click()

UnloadMe

EndSub

下面是响应“图书登记”子菜单Click事件,调出图书登记窗体代码。

PrivateSubcheckin_Click()

frmdengji.Show

EndSub

下面是响应“修改密码”子菜单Click事件,调出修改密码窗体代码。

PrivateSubchangepwd_Click()

frmchangepwd.Show

EndSub

下面是响应“图书借阅”子菜单Click事件,调出图书借阅窗体代码。

PrivateSubborrow_Click()

frmjieyue.Show

EndSub

2.各子窗体的代码

  在各个子窗体建立好后,就可以根据各个子窗体的功能给它们添加相应代码了。

(1)图书登记子窗体代码

  本窗体用来填写图书登记的信息,用ADO来连接数据库,是本窗体的重点。

采用MDI的子程序,所以运行后,它出现在主程序的界面下,如图33所示。

  图33图书登记子窗体

按钮控件要求先填写基本信息,然后与数据库信息比较。

  PrivateSubCommand1_Click()

  OnErrorGoToadderr

  Text1.SetFocus

  Adodc1.Recordset.AddNew

  ExitSub

  adderr:

  MsgBoxErr.Description

  EndSub

  PrivateSubCommand2_Click()

  OnErrorGoTodeleteerr

  WithAdodc1.Recordset

  IfNot.EOFAndNot.BOFThen

  IfMsgBox("删除当前记录吗?

",vbYesNo+vbQuestion)=vbYesThen

  .Delete

  .MoveNext

  If.EOFThen.MoveLast

  EndIf

  EndIf

  EndWith

  ExitSub

  deleteerr:

  MsgBoxErr.Description

  EndSub

  PrivateSubCommand3_Click()

  Adodc1.Recordset.MoveNext

  IfAdodc1.Recordset.EOFThen

  MsgBox"这是最后一条记录",vbOKCancel+vbQuestion

  Adodc1.Recordset.MoveLast

  EndIf

  EndSub

  PrivateSubCommand4_Click()

  Adodc1.Recordset.MovePrevious

  IfAdodc1.Recordset.BOFThen

  MsgBox"这是第一条记录",vbOKCancel+vbQuestion

  Adodc1.Recordset.MoveFirst

  EndIf

  EndSub

  PrivateSubCommand5_Click()

  IfAdodc1.Recordset.EOFThen

  MsgBox"记录空",vbOKCancel+vbQuestion

  End

  Else

  Adodc1.Recordset.MoveFirst

  ExitSub

  EndSub

  PrivateSubCommand6_Click()

  IfAdodc1.Recordset.RecordCount=0Then

  MsgBox"空记录",vbOKCancel+vbQuestion

  End

  Else

  Adodc1.Recordset.MoveLast

  EndIf

  EndSub

  PrivateSubCommand7_Click()

  MDIForm1.Show

  frmdengji.Hide

  EndSub

  图书借阅窗体运行后如图34所示,

  

图34图书借阅子窗体运行效果

(2)增加用户子窗体代码

  增加用户子窗体是用来增加用户的用户名、密码和权限的。

其运行效果如图36所示。

  单击“确定”按钮后,还要返回一个信息框,提示成功信息,如图37所示。

  

  图36增加用户子窗体运行效果图37成功信息框

窗体代码的思路是,收集输入的表中的字符串,然后与数据库中的系统的用户数据比较,如果不存在,则允许添加。

  PrivateSubCommand1_Click()

  DimsqlAsString

  Dimrs_addAsNewADODB.Recordset

  IfTrim(Text1.Text)=""Then

  MsgBox"用户名不能为空",vbOKOnly+vbExclamation,""

  ExitSub

  Text1.SetFocus

  Else

  sql="select*from系统管理"

  rs_add.Opensql,conn,adOpenKeyset,adLockPessimistic

  While(rs_add.EOF=False)

  IfTrim(rs_add.Fields(0))=Trim(Text1.Text)Then

  MsgBox"已有这个用户",vbOKOnly+vbExclamation,""

  Text1.SetFocus

  Text1.Text=""

  Text2.Text=""

  Text3.Text=""

  Combo1.Text=""

  ExitSub

  Else

  rs_add.MoveNext

  EndIf

  Wend

  IfTrim(Text2.Text)<>Trim(Text3.Text)Then

  MsgBox"两次密码不一致",vbOKOnly+vbExclamation,""

  Text2.SetFocus

  Text2.Text=""

  Text3.Text=""

  ExitSub

  ElseIfTrim(Combo1.Text)<>"system"AndTrim(Combo1.Text)<>"guest"Then

  MsgBox"请选择正确的用户权限",vbOKOnly+vbExclamation,""

  Combo1.SetFocus

  Combo1.Text=""

  ExitSub

  Else

  rs_add.AddNew

  rs_add.Fields(0)=Text1.Text

  rs_add.Fields

(1)=Text2.Text

  rs_add.Fields

(2)=Combo1.Text

  rs_add.Update

  rs_add.Close

下面是返回成功信息对话框的代码:

  MsgBox"添加用户成功",vbOKOnly+vbExclamation,""

  UnloadMe

  EndIf

  EndIf

  EndSub

(3)修改密码子窗体代码

  修改密码子窗体是用来修改用户密码的。

其运行效果如图38所示。

  

  图38修改密码子窗体运行效果

在“确定”按钮的Click事件中添加如下代码:

  PrivateSubCommand1_Click()

  Dimrs_changAsNewADODB.Recordset

  DimsqlAsString

  IfTrim(Text1.Text)<>Trim(Text2.Text)Then

  MsgBox"密码不一致!

",vbOKOnly+vbExclamation,""

  Text1.SetFocus

  Text1.Text=""

  Text2.Text=""

  Else

  sql="select*from系统管理where用户名='"&userID&"'"

  rs_chang.Opensql,conn,adOpenKeyset,adLockPessimistic

  rs_chang.Fields

(1)=Text1.Text

  rs_chang.Update

  rs_chang.Close

  MsgBox"密码修改成功",vbOKOnly+vbExclamation,""

  UnloadMe

  EndIf

  EndSub

  在上述代码中,首先比较两个表中的数据是否一致,然后用rs_chang.Fields

(1)=Text1.Text语句把代码输入到数据库中。

最后,用MsgBox"密码修改成功",vbOKOnly+vbExclamation,""语句弹出一个信息框,告诉修改成功,如图39所示。

显示目录

(4)图书资料管理子窗体代码

该子窗体是用来管理图书资料的。

其运行效果如图40所示。

  

  图40库房管理子窗体

  实际上,设计库房管理子窗体的程序代码与增加用户子窗体的代码在思路上是完全相同的。

就是在DataGrid的文本框中显示图书进出的清单,最后把填写的明细存储到数据库中。

检查代码如下:

  OptionExplicit

  Dimrs_data2AsNewADODB.Recordset

  Dimselect_rowAsString

  Dimshowgrid2AsBoolean

  Dimrs_customAsNewADODB.Recordset

  DimjinchuAsString'进出库标志

  DimmodifyAsBoolean'修改状态标志

  PrivateSubcmdexit_Click()

  UnloadMe

  EndSub

  PrivateSubForm_Load()

  OnErrorGoToloaderror

  DimsqlAsString

  sql="select*from图书资料"

  rs_custom.CursorLocation=adUseClient

  rs_custom.Opensql,conn,adOpenKeyset,adLockPessimistic

  WhileNotrs_custom.EOF

  Combo1.AddItemrs_custom.Fields(0)

  rs_custom.MoveNext

  Wend

  findok=True

  modify=False'非修改状态

  showgrid2=False

  displaygrid1'调用显示Datagrid1子程序

  loaderror:

  IfErr.Number<>0Then

  MsgBoxErr.Description

  EndIf

  EndSub

  '显示msflexgrid1子程序

  PublicSubdisplaygrid1()

  DimiAsInteger

  OnErrorGoTodisplayerror

  setgrid

  setgridhead

  MSFlexGrid1.Row=0

  IfNotrs_data1.EOFThen

  rs_data1.MoveFirst

  DoWhileNotrs_data1.EOF

  MSFlexGrid1.Row=MSFlexGrid1.Row+1

  MSFlexGrid1.Col=0

  IfNotIsNull(rs_data1.Fields(0))Th

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

当前位置:首页 > 解决方案 > 学习计划

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

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