图书馆管理系统-详细(有图片的插入)_第1页
图书馆管理系统-详细(有图片的插入)_第2页
图书馆管理系统-详细(有图片的插入)_第3页
图书馆管理系统-详细(有图片的插入)_第4页
图书馆管理系统-详细(有图片的插入)_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京联合大学北京联合大学 实验 实习 实训 报告实验 实习 实训 报告 课程 项目 名称 图书馆管理系统 学 院 特殊教育学院 专 业 计算机应用技术 班 级 09 年级 学 号 09 姓 名 许华杰 成 绩 2011 年 12 月 29 日 图书馆管理系统图书馆管理系统 0909 计应计应 许华杰许华杰 系统资料室的藏书量较小 一般从几千册到几万册不等 读者人数也较少 大多数 单位都没有购买了昂贵的大型管理软件 往往又很难充分应用其所有功能 从而造成经济 与资源上的浪费 因此 我利用 VFP 数据库管理系统软件设计一套适合资料的图书馆管理 系统 1 1 需求分析需求分析 需求分析是数据库设计的第一步 是整个设计的基础 准确了了解和分析用户的需求 用 户包括图书管理员及读者 想要设计出功能强大的图书馆管理系统 2 2 概念结构设计阶段概念结构设计阶段 概念结构设计就是现实世界具体数据的首次抽象 是对用户的需求和功能的要求来完 成的 因此 我采用了 Xmind 软件来建立图书馆管理系统概念模型的 E R 图 联系模型 补 模块结构 3 3 逻辑结构设计阶段逻辑结构设计阶段 将概念结构转化为 DBMS 数据库管理系统 支持的数据模型 概念结构模型可转换网 状模型 层次模型 关系模型 目前 数据库系统普通采用关系模型 将概念设计阶段得 到的概念模型转换成关系模型 如表 1 2 3 所示 表表 1 1 读者信息 读者信息 姓名读者证号借书状态当前借量失效日期 表表 2 2 借阅信息 借阅信息 读者证号书号还书日期 表表 3 3 图书信息 图书信息 书号书名作者出版社出版日期价格注销 4 4 数据库物理设计阶段数据库物理设计阶段 一 表与数据库的具体设计 1 1 表的设计 表的设计 读者信息表 读者信息表 读者信息 索引 读者证号 主索引 表表 4 4 读者信息表 读者信息表 借阅信息表 借阅信息表 借阅信息 索引 书号 普通索引 读者证号 普通索引 表表 5 5 借阅信息表 借阅信息表 图书信息表 图书信息表 图书信息 索引 书号 主索引 表表 6 6 图书信息 图书信息 用户表 用户表 2 2 数据库的设计数据库的设计 建立 图书馆管理系统数据库 添加表 并建立表间的关联 如图 3 3 目录设计目录设计 建立 图书馆管理系统 文件夹 在文件夹内建立 form database images report menu bak 子文件夹 分别用于存放表单 数据库和 表 图像 报表 菜单 备份文件 4 4 读者信息管理设计读者信息管理设计 读者查询 表单的表单的 initinit 事件 事件 thisform Label1 visible f thisform text1 visible f thisform text1 setfocus mand1 visible f thisform grid1 readonly t 选项按钮组 选项按钮组 optiongroup1optiongroup1 的 的 clickclick 事件 事件 do case case this value 1 thisform text1 visible t thisform label1 visible t mand1 visible t thisform label1 caption 请输入按读者证号查询 thisform text1 value thisform text1 setfocus case this value 2 thisform text1 visible t thisform label1 visible t mand1 visible t thisform label1 caption 请输入按姓名查询 case this value 3 thisform text1 visible f thisform label1 visible f mand1 visible f set filter to go top thisform grid1 refresh Endcase 查看查看 按钮 按钮 command1command1 的 的 clickclick 事件 事件 do case case thisform optiongroup1 value 1 set filter to 读者证号 alltrim thisform text1 value case thisform optiongroup1 value 2 set filter to 姓名 alltrim thisform text1 value endcase thisform grid1 refresh 查询打印查询打印 按钮 按钮 command3command3 的 的 clickclick 事件 事件 report form report 读者信息 frx preview 设计 读者信息 报表 样式如图下 退出退出 按钮 按钮 command2command2 的 的 clickclick 事件事件 thisform release 读者信息编辑 功能要求 图书管理员向系统数据库中录入读者信息 删除或修改读者信息 表单界面如 图下 Form1Form1 的的 initinit 事件 事件 thisform text1 value 读者信息 读者证号 thisform text2 value 读者信息 姓名 thisform text3 value 读者信息 借书状态 thisform text4 value 读者信息 当前借量 thisform text5 value 读者信息 失效日期 第一个按钮组包括第一个 上一个 下一个 最后一个 它们的代码和 用户管理 的代 码是一样 第二个按钮组里有四个 分别是添加 修改 删除 退出 添加添加 按钮 按钮 command1command1 的 的 clickclick 事件 事件 if alltrim mand1 caption 添加 mand1 caption 保存 mand2 caption 取消 mand3 enabled f mand1 enabled t mand2 enabled t store to thisform text1 value thisform text2 value thisform text3 value thisform text4 v alue thisform text5 value thisform text1 setfocus else mand1 caption 添加 mand2 caption 修改 mand3 enabled t a1 alltrim thisform text1 value a2 alltrim thisform text2 value a3 alltrim thisform text3 value a4 alltrim thisform text4 value a5 alltrim thisform text5 value select from 读者信息 where 读者证号 a1 order by 读者证号 into cursor tt1 if reccount 0 insert into 读者信息 values a1 a2 a3 a4 a5 messagebox 数据保存完毕 48 操作成功 else nAnswer messagebox 信息已修改 确定要保存吗 4 32 重要提示 do case case nAnswer 6 update 读者信息 set 读者证号 a1 姓名 a2 借书状态 a3 当前借量 a4 失效日期 a5 where 读者证号 a1 messagebox 数据保存完毕 48 操作成功 endcase endif select 读者信息 thisform init endif 修改修改 按钮的代码和按钮的代码和 用户管理用户管理 的代码一样的代码一样 if alltrim mand2 caption 修改 mand1 caption 保存 mand2 caption 取消 mand3 enabled f thisform text1 setfocus else mand1 caption 添加 mand2 caption 修改 mand3 enabled t thisform init endif 删除删除 按钮 按钮 command3command3 的 的 clickclick 事件 事件 j1 recno a1 alltrim thisform text1 value nAnswer messagebox 确定要删除吗 4 32 重要提示 if nAnswer 6 delete from 读者信息 where 读者证号 a1 use database 读者信息 exclusive pack if j1 reccount go j1 else go bottom endif thisform init messagebox 删除完毕 48 操作成功 thisform refresh endif 退出退出 按钮 按钮 command4command4 的 的 clickclick 事件 事件 thisform release 读者统计 功能要求 根据按选择的统计类别 对读者信息进行分类统计 如图下 此图片里有一个选项按钮组 optiongroup1 里有两个按钮 分别是借书状态和全部显示 按钮组里的按钮组里的 借书状态借书状态 按钮 按钮 option1option1 的 的 clickclick 事件 事件 thisform grid1 recordsourcetype 4 thisform grid1 recordsource sele 借书状态 count as 人数 from 读者信息 group by 借书状态 into curs p1 按钮组里的按钮组里的 全部显示全部显示 按钮 按钮 option2option2 的 的 clickclick 事件 事件 thisform grid1 recordsourcetype 4 thisform grid1 recordsource sele from 读者信息 into curs p2 还有 退出 按钮 command1 的 click 事件 thisform release 5 5 图书信息管理设计图书信息管理设计 图书查询 功能要求 从系统中检查出相关图书 实现图书的快速检索 查询 表单界面如图下 Form1 的 load 事件 public a a 0 Optingroup1 的 init 事件 this value 0 Ojption1 的 click 事件 a 1 Option2 的 click 事件 a 2 Command1Command1 的的 clickclick 事件 事件 close all use database 图书信息 bh trim thisform text1 value do case case a 1 browse for at bh 书名 0 case a 2 browse for at bh 作者 0 endcase Use Command2Command2 的的 clickclick 事件 事件 thisform release 图书编辑 功能要求 图书管理人员向系统数据库中录入新图书和删除已丢失的图书 表单界面如图 下 Form1Form1 的的 initinit 事件 事件 thisform text1 value 图书信息 书号 thisform text2 value 图书信息 书名 thisform text3 value 图书信息 作者 thisform text4 value 图书信息 出版社 thisform text5 value 图书信息 出版日期 thisform text6 value 图书信息 价格 第一个按钮组包括第一个 上一个 下一个 最后一个 它们的代码和 用户管理 的代 码是一样 第二个按钮组里有四个 分别是添加 修改 删除 退出 添加添加 按钮 按钮 command1command1 的 的 clickclick 事件 事件 if alltrim mand1 caption 添加 mand1 caption 保存 mand2 caption 取消 mand3 enabled f mand1 enabled t mand2 enabled t store to thisform text1 value thisform text2 value thisform text3 value thisform text4 v alue thisform text5 value thisform text6 value thisform text1 setfocus else mand1 caption 添加 mand2 caption 修改 mand3 enabled t a1 alltrim thisform text1 value a2 alltrim thisform text2 value a3 alltrim thisform text3 value a4 alltrim thisform text4 value a5 alltrim thisform text5 value a6 alltrim thisform text6 value select from 图书信息 where 书号 a1 order by 书号 into cursor tt1 if reccount 0 insert into 图书信息 values a1 a2 a3 a4 a5 a6 messagebox 数据保存完毕 48 操作成功 else nAnswer messagebox 信息已修改 确定要保存吗 4 32 重要提示 do case case nAnswer 6 update 图书信息 set 书号 a1 书名 a2 作者 a3 出版社 a4 出版日期 a5 where 书号 a1 messagebox 数据保存完毕 48 操作成功 endcase endif select 图书信息 thisform init endif 修改修改 按钮的代码和按钮的代码和 用户管理用户管理 的代码一样的代码一样 if alltrim mand2 caption 修改 mand1 caption 保存 mand2 caption 取消 mand3 enabled f thisform text1 setfocus else mand1 caption 添加 mand2 caption 修改 mand3 enabled t thisform init endif 删除删除 按钮 按钮 command3command3 的 的 clickclick 事件 事件 j1 recno a1 alltrim thisform text1 value nAnswer messagebox 确定要删除吗 4 32 重要提示 if nAnswer 6 delete from 图书信息 where 书号 a1 use database 图书信息 exclusive pack if j1 reccount go j1 else go bottom endif thisform init messagebox 删除完毕 48 操作成功 thisform refresh Endif 删除删除 按钮按钮 command3 command3 的的clickclick事件 事件 j1 recno a1 alltrim thisform text1 value nAnswer messagebox 确定要删除吗 4 32 重要提示 if nAnswer 6 delete from 图书信息 where 书号 a1 use database 图书信息 exclusive pack if j12 use database 读者信息 locate for alltrim 读者证号 zh if found num 当前借量 1 replace 当前借量 with num use database 借阅信息 locate for alltrim 读者证号 zh and alltrim 书号 tm if found dele for alltrim 读者证号 zh and alltrim 书号 tm pack use messagebox 还书成功 else messagebox 图书号输入错误 请重新输入 thisform text2 setfocus return endif else messagebox 读者证号错误 请重新输入 thisform text1 setfocus return endif endif 图书借阅 功能要求 图书管理人员能够方便的实现图书借出登记 表单界面如图下 借阅借阅 按钮的按钮的 clickclick 事件 事件 zh trim thisform text1 value sh trim thisform text2 value use database 读者信息 if found locate for alltrim 读者证号 zh if reccount 0 insert into database 借阅信息 values zh sh date 30 messagebox 借阅成功 return else messagebox 当前借量必须小于 5 return endif else messagebox 借阅失败 请查看借书证号是否合法 return Endif 7 7 系统帮助功能系统帮助功能 用户管理设计 Form1Form1 的的 initinit 事件 事件 thisform text1 value 用户表 用户名称 thisform text2 value 用户表 用户密码 thisform list1 value 用户表 用户权限 第一个命令按钮组 第一个命令按钮组 commandgroup2commandgroup2 里有四个 分别是第一个 上一个 下一个 最后一 里有四个 分别是第一个 上一个 下一个 最后一 个 个 按钮组里的按钮组里的 第一个第一个 按钮 按钮 command1command1 的 的 clickclick 事件 事件 go top mand1 enabled f mand2 enabled f mand3 enabled t mand4 enabled t thisform init Thisform refresh 按钮组里的按钮组里的 上一个上一个 按钮 按钮 command2command2 的 的 clickclick 事件 事件 skip 1 thisform init if bof messagebox 已是第一个记录 48 信息窗口 mand1 enabled f mand2 enabled f thisform init else mand1 enabled t mand2 enabled t endif mand3 enabled t mand4 enabled t Thisform refresh 按钮组里的按钮组里的 下一个下一个 按钮 按钮 command3command3 的 的 clickclick 事件 事件 if eof messagebox 已是最后一条记录 48 管理窗口 skip 1 thisform init mand1 enabled t mand2 enabled t mand3 enabled f mand4 enabled f else skip thisform init if eof messagebox 已是最后一条记录 48 管理窗口 skip 1 thisform init mand3 enabled f mand4 enabled f else mand3 enabled t mand4 enabled t endif mand1 enabled t mand2 enabled t endif thisform refresh 按钮组里的按钮组里的 最后一个最后一个 按钮 按钮 command4command4 的 的 clickclick 事件 事件 go bottom mand3 enabled f mand4 enabled f mand1 enabled t mand2 enabled t thisform init Thisform refresh 第二个命令按钮组 第二个命令按钮组 commandgroup1commandgroup1 里有四个 分别是添加 修改 删除 退出 里有四个 分别是添加 修改 删除 退出 按钮组里的按钮组里的 添加添加 按钮 按钮 command1command1 的 的 clickclick 事件 事件 if alltrim mand1 caption 添加 mand1 caption 保存 mand2 caption 取消 mand3 enabled f mand1 enabled t mand2 enabled t store to thisform text1 value thisform text2 value thisform list1 value thisform text1 setfocus else mand1 caption 添加 mand2 caption 修改 mand3 enabled t a1 alltrim thisform text1 value a2 alltrim thisform text2 value a3 alltrim thisform list1 value select from 用户表 where 用户名称 a1 order by 用户名称 into cursor tt1 if reccount 0 insert into 用户表 values a1 a2 a3 messagebox 数据保存完毕 48 操作成功 else nAnswer messagebox 信息已修改 确定要保存吗 4 32 重要提示 do case case nAnswer 6 update 用户表 set 用户名称 a1 用户密码 a2 用户权限 a3 where 用户名称 a1 messagebox 数据保存完毕 48 操作成功 endcase endif sele 用户表 thisform init endif 按钮组里的按钮组里的 修改修改 按钮 按钮 command2command2 的 的 clickclick 事件 事件 if alltrim mand2 caption 修改 mand1 caption 保存 mand2 caption 取消 mand3 enabled f thisform text1 setfocus else mand1 caption 添加 mand2 caption 修改 mand3 enabled t thisform init Endif 按钮组里的按钮组里的 删除删除 按钮 按钮 command3command3 的 的 clickclick 事件 事件 j1 recno a1 alltrim thisform text1 value nAnswer messagebox 确定要删除吗 4 32 重要提示 if nAnswer 6 delete from 用户表 where 用户名称 a1 use database 用户表 exclusive pack if j1 reccount go j1 else go bottom endif thisform init messagebox 删除完毕 48 操作成功 thisform refresh endif 按钮组里的按钮组里的 退出退出 按钮 按钮 command4command4 的 的 clickclick 事件 事件 thisform release 密码修改设计 Form1Form1 的的 initinit 事件 事件 thisform text1 value cname thisform text1 enabled f thisform text2 setfocus 修改修改 按钮 按钮 command1command1 的 的 clickclick 事件 事件 pass1 alltrim thisform text2 value sele 用户表 loca for 用户名称 cname if 用户密码pass1 messagebox 您输入的原密码不对 请重新输入 48 友好提示 thisform text2 value thisform text2 setfocus else p1 alltrim thisform text3 value p2 alltrim thisform text4 value set exact on if p1p2 messagebox 您两次输入的原密码不一致 请重新输入 48 友好提示 thisform text3 value thisform text4 value thisform text3 setfocus else update 用户表 set 用户密码 p1 where 用户名称 cname messagebox 密码修改成功 48 友好提示 endif Endif 退出退出 按钮 按钮 command2command2 的 的 clickclick 事件 事件 thisform release 关于本系统 实训目的是 设计 系统介绍 表单 对系统进行介绍 如图下 确定 按钮 command1 的 click 事件 thisform release 8 8 文件文件 管理设计管理设计 工具栏 工具栏 实训目的 设计系统工具栏 通过单击工具栏中的命令按钮可以进入相应的表单 设计工具栏的过程 新建表单 添加命令按钮控件 以 工具栏 为名存入 form 文件夹中 设计工具栏界面如图下 图书查询图书查询 按钮 按钮 command1command1 的 的 clickclick 事件 事件 do form form 图书查询 读者查询读者查询 按钮按钮 command2 的 click 事件 do form form 读者查询 剩下的各按钮的 click 事件 do form form 相应的表单名 数据备份 数据备份 实现目标 可以实现对用户表 读者信息表等数据表的备份 备份文件名中应含有系统日 期 设计 数据备份 的过程 建立表单 添加控件 设置其基本属性 以 数据备份 存放 入 form 文件夹中 数据备份 界面 样式如图下 设计设计 用户表备份用户表备份 按钮 按钮 command1command1 的 的 clickclick 事件 事件 dat right dtoc date 2 left dtoc date 2 substr dtoc date 4 2 select 用户表 copy to bak 用户表 dat messagebox 备份完毕 48 友好提示 设计设计 读者信息表备份读者信息表备份 按钮 按钮 command2command2 的 的 clickclick 事件 事件 dat right dtoc date 2 left dtoc date 2 substr dtoc date 4 2 select 读者信息 copy to bak 读者信息 dat messagebox 备份完毕 48 友好提示 还有两个按钮和上面按钮的代码差不多 只是数据表的名字不一样 退出系统 9 9 登录界面登录界面 表单设计表单设计 实现目标 这是程序启动的第一个画面 设计的功能要求是 输入用户名和用户名密码 当用户名和密码均正确后才能进入启动界面 用户输入显示提示信息 系统在三次错误提 示后会自动退出 设计登录界面的过程 建立表单 添加控件 将表单以 登录界面 为存在 form 文件中 设计界面的如图下 表单的表单的 loadload 的事件 的事件 public i i 0 表单的表单的 initinit 事件 事件 application visible f close all 登录登录 按钮 按钮 command1command1 的 的 clickclick 事件 事件 public cname use database 用户表 cname alltrim thisform text1 value if alltrim thisform text1 value messagebox 未填写用户名 else locate all for alltrim 用户名称 alltrim thisform text1 value and alltrim 用户密码 alltrim thisform text2 value if found if 用户权限 1 manager 1 else manager 2 endif do form form 启动界面 thisform release else i i 1 if i case js 2 thisform label3 caption 正在加载用户设置 case js 3 screen application visible t do menu 图书馆管理系统 mpr do form form 工具栏 scx thisform release Endcase 1111 菜单的设计 菜单的设计 将读者查询表单 图书查询表单 图书管理表单等各种功能表单 通过菜单有机的联 系在一起 菜单设计是通过菜单设计器来完成 只要按照菜单设计器的提示就能设计出理 想的菜单 此菜单布局如表 7 所示 表表 7 7 菜单布局 菜单布局 文件文件读者管理读者管理图书管理图书管理图书服务图书服务系统帮助系统帮助退出退出 工具栏读者查询图书查询图书归还用户管理 数据备份读者编辑图书编辑图书借阅密码修改 退出系统读者统计图书统计关于本系统 快捷键 快捷键 文件 alt w 读者管理 alt d 图书管理 alt t 图书服务 alt f 系统帮助 alt x 退出 alt q 为菜单或菜单栏单项任务 创建菜单系统时 需要考虑系统访问的简便性 必须为菜单和菜单项指定所执行的任务 如指定菜单访问键 添加键盘快捷键 显示表单等 菜单选项的任务可以是子菜单 命令 过程 菜单任务对应的命令必须明确指定 对应的过程必须输入相应的过程代码 如表如表 8 8 所示 在 菜单设计器 中为各菜单项添加命令 菜单标题菜单标题菜单项名称菜单项名称结果结果结果框的内容结果框的内容 工具栏do form form 工具栏 数据备份 命令 do form form 数据备份文件 退出系统命令 quit 读者查询do form form 读者查询 读者编辑do form form 读者编辑读者管理 读者统计 命令 do form form 读者统计 图书查询do form form 图书查

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论