




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
贵州师范大学职业技术学院贵州师范大学职业技术学院 毕业设计(论文)毕业设计(论文) 设计项目:设计项目:图书信息管理系统 专专 业:业:计算机网络技术 班班 级:级:07 计网班 学学 号:号: 姓姓 名:名: 指导老师:指导老师: 设计时间:设计时间:2010-3-292010-5-7 目目 录录 贵州师范大学职业技术学院贵州师范大学职业技术学院 毕业设计(论文)毕业设计(论文) 摘要摘要 1 第一章第一章 概述概述 1 1.1 开发背景.1 1.2 图书管理系统产生的背景.1 1.3 系统功能要求的分析 1 第二章第二章 开发环境及实现技术介绍开发环境及实现技术介绍 2 2.1 运行环境.2 2.2 开发软件介绍 2 第三章第三章 图书管理系统的设计与实现图书管理系统的设计与实现 7 3.1 系统的设计 7 3.1.1系统的概要设计.7 3.1.2 系统的数据设计7 3.2 系统的设计与实现 12 3.2.1 欢迎登陆界面的设计与实现12 3.2.2 主窗体设计与实现13 3.2.3 用户管理模块的设计与实现15 3.2.4图书借阅管理模块的设计与实现.18 3.2.5图书归还模块的设计与实现.20 3.2.6图书归还模块的设计与实现.22 3.2.7图书归还模块的设计与实现.23 3.2.8图书类别管理的设计与实现.25 3.2.9增加读者模块的设计与实现.26 3.2.10增加读者模块的设计与实现.28 总结与提高总结与提高 28 参考文献参考文献 29 附录附录 30 贵州师范大学职业技术学院贵州师范大学职业技术学院 毕业设计(论文)毕业设计(论文) 第 1 页 共 30 页 摘要摘要 在图书管理系统用计算机管理图书是一种计算机应用技术的创新,在计算机还 未普及之前图书管理都是由图书管理人员手工记账的方式来操作的,现在一般的图 书馆都是采用计算机作为工具的实用的计算机图书管理程序来帮助图书馆管理员进 行更有效的图书管理。 图书管理系统是典型的信息管理系统(mis),其开发主要包括后台数据库的建立 和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整 性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 关键字关键字:图书,面向对象,软件工程图书,面向对象,软件工程 第一章第一章 概述概述 1.1 开发背景开发背景 图书管理系统使用计算机管理图书是计算机应用技术的一种创新,在计算机还 未普及之前图书管理都是采用图书管理人员手工记账的方式来操作的.现在一般的图 书馆都是采用计算机作为工具的实用的计算机图书管理程序来帮助图书馆管理员进 行更有效的图书管理,不仅工作量减少了,效率也大大提高了。 1.2 图书管理系统产生的背景图书管理系统产生的背景 图书管理系统是典型的信息管理系统(mis),其开发主要包括后台数据库的建立 和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整 性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 经过研究分析,我使用 sql 2000 作为后台数据库,使用 microsoft 公司的 visual basic 作为前台开发工具,利用其提供的各种面向对象的开发工具,尤其 是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统 应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户 满意的可行系统。 1.3 系统功能要求的分析系统功能要求的分析 经调查分析,系统功能要求大致有如下模块要求: 系统管理:系统管理:数据备份还原、数据导入导出、用户管理、用户切换、当前用户 密码的修改 图书管理:图书管理:图书浏览管理(增加、修改、删除)、图书类别管理、图书信息管理 读者管理:读者管理:读者类型管理、读者信息管理(增加、修改、删除) 借阅管理:借阅管理:图书借阅、图书归还、超期罚款 查询管理:查询管理:图书信息查询、读者信息查询、借阅信息查询 报表管理:报表管理:读者信息报表、借阅信息报表、图书信息报表、罚款信息报表 帮助管理:帮助管理:关于系统 基本操作:基本操作:图书借阅、借阅查询、图书归还、罚款管理 贵州师范大学职业技术学院贵州师范大学职业技术学院 毕业设计(论文)毕业设计(论文) 第 2 页 共 30 页 资料管理:资料管理:图书浏览管理、图书类别管理、出版社管理、读者信息管理、读者类型 管 理 第二章第二章 开发环境及实现技术介绍开发环境及实现技术介绍 2.1 运行环境运行环境 由于本系统是针对图书管理而开发的,对运行环境的要求不是太高,容易操作 并且维护简单。其设计基本上可以满足图书馆内图书管理的需要 2.2 开发软件介绍开发软件介绍 本系统所采用的编程语言为 visual basic 6.0 与 微软的 sql 2000 作为后台数 据库,现分别对其简单介绍: visual basic 6.0是 micrsoft 公司出品的开发工具,visual basic 是一种可视化的, 面向对象的 windows 开发语言,它具有易用,通用和开发效率高的特点。随着微软 对它不断地改进以及计算机本身性能的提高,使得 visual basic 越来越适合一般的 应用程序开发。正如 bill gate 所说,世界上绝大多数的 windows 应用程序是用 visual basic 编写的。在众多的开发工具中,我为什么要选择 visual basic6.0 呢? 因为 vb 具有众多其它开发工具所没有的优点!具体介绍如下: 开发的高效 语言的高效 编译的高效 执行的高效 维护的高效 基于以上理由,我选择了 vb6.0 作为我的前台开发工具! 主要的控件及其基本属性,事件简介 常用命令按钮类的控件: 1) caption 属性:用来显示在控件上的标题。 2) enable 属性:控制控件的激活状态灰色或可用。 3) appearance 属性:值为 1 时,则以 3d 效果显示该控件,0 则不然。 4) backcolor 属性:用来改变在按钮上显示图像的背景色。 5) font 属性:控制各种文字字体类型. 6) left,top,height,width 属性:设定控件的位置与大小. 7) visible 属性:确定控件运行时是否为可见. 8) index 属性:当控件为一控件数组时,此属性值为该控件在数组的下标值. 9) picture 属性:设置返回 commandbutton 控件中要显示的图片。 命令按钮类的事件: 10) 单击事件click 事件 (1) 触发与适用 贵州师范大学职业技术学院贵州师范大学职业技术学院 毕业设计(论文)毕业设计(论文) 第 3 页 共 30 页 此事件是在一个命令按钮对象上按下然后释放一个鼠标按钮时发生。命 令按钮的 click 事件仅对当单击鼠标时发生。 (2) 事件处理过程 按钮单击事件的处理过程为: private sub object-click(index as integer) 其中 object 为引发该事件的对象名称。如果是命令按钮的控件是数组, 则需要使用 index 参数标识该控件。 11) 获得焦点gotfocus 事件 (3) 触发与适用 当命令按钮获得焦点产生该事件,获得焦点可以通过诸如 tab 切换或单 击对象之类的用户动作,或在代码中用 setfocus 方法改变焦点来实现。 (4) 事件处理过程 命令按钮 gotfoucs 事件处理过程为: private sub object-gotfocus(index as integer) 12) lostfocus 事件:当一个对象失去焦点时发生 13) keydown 事件:当命令按钮具有焦点时按下一个键时发生 14) keyup 事件:当命令按钮具有焦点时释放一个键时发生。 15) keypress 事件:当用户按下或松开一个 ansi 键时发生。 16) mousedown 事件:当在命令按钮上按下鼠标按钮时发生。 17) mousemove 事件:当命令按钮上移动鼠标时发生。 18) mouseup 事件:当在命令按钮上释放鼠标按钮时发生。 标签框类的控件类的控件: 19) caption 属性:在应用程序界面上加入说明。 20) backstyle 属性:用以指示标签是否透明. 21) bordstyle 属性:用以设定控件是否有边框。 文本框类的控件: 22) text 属性:通过像 text 属性赋值的方法来改变该属性的值。 23) maxlength 属性:该属性设定在文本框控件中能够输入的最大字符数。 24) passwordchar 属性:该属性设定输入文本的特殊显示字符,在设计密码程 序时非常有用。 25) keypress:事件由用户在文本框控件中按任意键触发。 26) backcolor 属性:设置返回背景色 27) borderstyle 属性:设置对象的边框样式 28) dataformat 属性:设定 dataformat 对象,用于数据绑定 29) datasource 属性:设定控件绑定的一个数据源 30) dragicon 属性:设定图标,它将在拖放操作中作为指针显示 31) enabled 属性:设置/返回运行时 textbox 是否相应用户事件 32) font 属性:设置/返回字体属性 33) forecolor 属性:设置/返回文本的前景色 34) height 属性:设置/返回 textbox 的高度 35) index 属性:设置/返回唯一的标识控件数组中该控件的编号 贵州师范大学职业技术学院贵州师范大学职业技术学院 毕业设计(论文)毕业设计(论文) 第 4 页 共 30 页 36) left 属性:设置/返回 textbox 控件的水平位置 37) locked 属性:设置/返回 textbox 中文本是否可编辑 38) top 属性:设置/返回 textbox 控件的垂直位置 文本框类的事件: 39) change 事件:当改变文本框内容时发生 40) click 事件:鼠标单击控件时发生 41) dblclick 事件:用鼠标左键双击控件时发生 42) dragdrop 事件:在一个完整的拖放动作完成或使用 drag 方法,并将其 action 参数设置为 2 时发生 43) dragover 事件:在拖放操作正在进行时发生 44) gotfocus 事件:当一个命令按钮获得焦点时发生 45) keydown 事件:当命令按钮具有焦点时按下一个键时发生 单选按钮类的控件: 46) caption 属性:显示在控件上的文本,是单选按钮的标题。 47) enable 属性:该控件为灰色时为 false,表示运行时不可用。 48) index 属性:属性值表示为单选按钮组成的控件中某个按钮的索引值。 49) tabindex 属性:建立控件时,vb 自动为其分配一个 tabindex 值,利用 tab 键可以在控件之间切换焦点。 50) value 属性:反映控件状态的属性,返回 true 表示已选择了该按钮。 51) backcolor 属性:设置/返回背景色。 52) fontbold 属性:设置/返回字体粗体样式。 单选按钮类的常用事件: 53) click 事件:鼠标单击控件时发生。 54) dbclick 事件: 当在一个对象上按下和释放鼠标按钮并再次按下和释放按 钮时,该事件发生。 55) dragdrop 事件:在一个完整的拖放动作或使用 drag 方法,并将其 action 参数设置位 2 时,该事件发生。 56) dragover 事件: 在拖放操作正在进行时发生。 57) gotfocus 事件: 当获的对象焦点时发生。 58) lostfocus 事件:当对象失去焦点时发生。 59) keydown 事件:当控件具有焦点时按下一个键时发生。 60) keyup 事件: 当控件具有焦点时释放一个键时发生。 61) keypress 事件:当用户按下或释放 ansi 一个键时发生。 62) mousedown 事件:当在控件上按下鼠标键时发生。 63) mousemove 事件:在控件上移动鼠标时发生。 64) mouseup 事件:在控件上释放鼠标时发生。 复选按钮类的控件: 65) caption 属性:缺省为 check1。 66) index 属性:该属性值为复选框控件数组的下标. 67) value 属性:value 为 0 表空白,为 1 表勾号,为 2 表示灰色勾号. 68) 某进程修改。 贵州师范大学职业技术学院贵州师范大学职业技术学院 毕业设计(论文)毕业设计(论文) 第 5 页 共 30 页 69) datafield 属性:设置或返回数据使用者将被绑定到的字段名。 70) datasource 属性:设置或返回控件绑定的一个数据源。 71) disabledpicture 属性:设置或返回一个对图片的引用,该图片在控件无效 时显示在控件中。 72) dragicon 属性:设置或返回图标,它将在拖放操作中作为指针显示。 73) dragmode 属性:设置返回一个值,确定在拖放操作中所用方式。 74) font 属性:设置或返回字体的属性。 75) value 属性:设置或返回控件的状态。 复选按钮类的控件的基本事件: 76) click 事件:鼠标单击控件时发生。 77) dragdrop 事件:在一个完整的拖放动作完成或使用 drag 方法,并将其 action 参数设置为 2 时发生。 78) dragover 事件:在拖放操作正在进行时发生。 79) gotfocus 事件:在对象获的焦点时发生。, 80) 作被执行或取消。 81) 时,此事件发生。 框架类的控件: 82) list 属性:列表框控件的表项是使用数组的方式保存,数组的每一个元素 存储列表控件的一个表项 83) listcount 属性:控件列表部分项目的个数。 84) mutselect 属性:可以设置列表框为单选或允许多选属性. 85) selectd 属性:标示一个数组,数组各元素为:selected(0),selected(1) 滚动条类的控件: 86) value 属性:滚动条上滑块所在位置由 value 值所决定。 87) max 和 min 属性:对 value 值的最大,最小进行限制。 定时器类类的控件: 88) enable 属性:为 true 时(缺省值),激活定时器开始计时;为 false 时处于休 眠状态. 数据库连接方式选择: visual basic6.0 连接数据库的主要方式以下几种方式:一是:用 data 控件进行数 据库链接 ,二是利用 adodc(ado data control)进行数据库链接 。三是: 利用 dataenvironment 进行数据库链接.四是利用 ado(activex data objects)进行编程 :现在我来大致对这几种技术应用介绍: 一、用 data 控件进行数据库链接. 第一步:给窗体添加一个 data 控件。 第二步:用 access 建立一个名为 pad 的数据库,在库中建立一个表 myset,给表 添加四个字段:backcolor(数据),forecolor(文本),fontname(文本), fontsize(文本)。注意:请将库文件存入程序所在目录。如果你的机器没安装 有 access,可通过 vb 建库。 贵州师范大学职业技术学院贵州师范大学职业技术学院 毕业设计(论文)毕业设计(论文) 第 6 页 共 30 页 二、利用 adodc(ado data control)进行数据库链接: 使用 adodata 控件访问数据库可以完全不用编写代码,只需要通过简单的设 置和操作其属性就可以实现与数据库的连接,通过绑定数据感知控件,就能提供 一个访问数据库的界面,用来实现对数据库的浏览,贴加,删除,修改等操作. 三、利用 dao 对数据库进行操纵: 在 visual basic 中提供了两种与 jet 数据引擎接口的方法:data 控件与数 据访问对象(dao)dao 是 database object 的英文缩写,要访问数据库一方面数据 库要提供访问接口,另一方面要在编程环境中有对数据库的支持. dao 模型是设计关系数据库系统结构的对象类的集合.他们提供了管理关系型数据 库系统所需要的全部操作属性和方法,这其中包括建立数据库,定义表,字段和 建立表间关系,定位和查询数据库等. 关系数据库介绍: 关系数据库是目前各类数据库中最重要、最流行的数据库,他应用数学方法来处 理数据库数据,是目前使用最广泛的数据库系统。20 世纪 70 年代以后开发的数 据库管理系统产品几乎都是基于关系的。在数据库发展的历史上,最重要的成就 就是关系模型。 关系数据库系统与非关系数据库系统的区别是:关系系统只有“表“这一种 数据结构;而非关系数据库系统还有其他数据结构,对这些数据结构有其他的操 作。结构化查询语言 sql(structured query language)是一种介于关系代数与 关系演算之间的语言,其功能包括查询、操纵、定义和控制四个方面,是一个通 用的、功能极强的关系数据库语言。目前已成为关系数据库的标准语言 microsoft access 介绍: 使用 microsoft access,可以在单一的数据库文件中管理所有的信息。在这个 文件中,用户可以将自己的数据分别保存在各自独立的存储空间中,这些空间 称作表;可以使用联机窗体来查看、添加及更新表中的数据;使用查询来查找 并检索所要的数据;也可以使用报表以特定的版面布置来分析及打印数据。如 果要保存数据,请为每一种类型的信息创建一个表。如果要从查询、窗体或报 表中的多个表中将数据合并在一起,就要定义各个表之间的关系。如果要搜索 并检索符合指定条件的数据,包括来自多个表中的数据,就要创建查询。查询 的同时也可以更新或删除多条记录,并对数据执行内嵌或自定义的计算。如果 要简单地直接在某个表中查看、输入及更改数据,请创建一个窗体。在打开一 个窗体时,microsoft access 将从一个或多个表中检索数据,并使用用户在 “窗体向导”选择的版面布局或所创建的版面布局,将窗体显示在屏幕上。 如果要分析数据或将数据以特定的方式打印出来,请创建一个报表。例如,可 贵州师范大学职业技术学院贵州师范大学职业技术学院 毕业设计(论文)毕业设计(论文) 第 7 页 共 30 页 欢迎界面欢迎界面 以打印一份将数据分组并计算数据总和的报表,也可以打印另一份带有各种数 据格式的打印邮件标签的报表。 第三章第三章 图书管理系统的设计与实现图书管理系统的设计与实现 3.1 系统的设计系统的设计 3.1.1 系统的概要设计系统的概要设计 该系统考虑将整个系统分解成如下模块: 3.1.2 系统的数据设计系统的数据设计 系统的数据设计包括表和表之间的设计、视图设计、表与视图之间的设计。需保证 数据的一致性和完整性强、数据安全性等。以下是各表和视图的是详细设计及其关 系图。 1. 各张表之间关系图 主界面主界面 图图 书书 管管 理理 图图 书书 信信 息息 管管 理理 读读 者者 类类 别别 管管 理理 读读 者者 信信 息息 管管 理理 图图 书书 借借 阅阅 管管 理理 借借 书书 管管 理理 还还 书书 管管 理理 系系 统统 管管 理理 登录登录 图图 书书 类类 别别 管管 理理 罚罚 款款 管管 理理 贵州师范大学职业技术学院贵州师范大学职业技术学院 毕业设计(论文)毕业设计(论文) 第 8 页 共 30 页 2. 出版社表 其中出版社编号设置为自动以 1 为单位递增。以 isbn 号为出版社表的主键。 3.读书信息表: 4.读者信息表: 贵州师范大学职业技术学院贵州师范大学职业技术学院 毕业设计(论文)毕业设计(论文) 第 9 页 共 30 页 5.图书借阅表表: 6.图书类型表: 7.用户信息表: 8.罚款信息表: 贵州师范大学职业技术学院贵州师范大学职业技术学院 毕业设计(论文)毕业设计(论文) 第 10 页 共 30 页 10.读者类型表: 11.bookview 视图: 贵州师范大学职业技术学院贵州师范大学职业技术学院 毕业设计(论文)毕业设计(论文) 第 11 页 共 30 页 贵州师范大学职业技术学院贵州师范大学职业技术学院 毕业设计(论文)毕业设计(论文) 第 12 页 共 30 页 12.borrowview 视图: 13.readerview 视图: 贵州师范大学职业技术学院贵州师范大学职业技术学院 毕业设计(论文)毕业设计(论文) 第 13 页 共 30 页 3.2 系统的设计与实现系统的设计与实现 3.2.1 欢迎登陆界面的设计与实现欢迎登陆界面的设计与实现 欢迎界面代码:欢迎界面代码: 登陆界面代码:登陆界面代码: 登陆设计中,主要判断用户名密码是否为空,用户名密码是否正确,所选的用 户 类型是否与用户名匹配,只有以上这些条件都正确的情况下,用户才能进入系统。 判断是否为空判断是否为空 if text1.text = “ or text2.text = “ then msgbox (“用户名或密码不能为空“), vbokonly + vbexclamation, (“系统提示信息“) text1.text = “ text2.text = “ text1.setfocus exit sub end if 正确性判断正确性判断 adodc1.recordsource = “select * from 用户信息表 where 用户名=“ integrated security=sspi;persist security info=false;initial catalog=bookdata;data source=worker“ conn.open 欢迎界面.show errorhandle: if conn.state 0 then set datagrid1.datasource = adodc1 datagrid1.refresh end if end sub 贵州师范大学职业技术学院贵州师范大学职业技术学院 毕业设计(论文)毕业设计(论文) 第 23 页 共 30 页 3.2.6 图书归还模块的设计与实现图书归还模块的设计与实现 付款按钮关键设计代码:付款按钮关键设计代码: 罚款需考虑被罚款者必须先付滞纳金,所付滞纳金是否大于应缴纳的金额,该图书 是否超期等问题,其代码如下: if text14.text = “ then msgbox (“请付滞纳金,谢谢!“), vbokonly, “系统提示信息“ text14.setfocus exit sub end if if text13.text = “0“ then msgbox (“该图书没有超期,不用缴纳滞纳金!“), vbokonly, “系统提示信息“ text14.setfocus exit sub end if if val(text14.text) 0 then set datagrid1.datasource = adodc1 贵州师范大学职业技术学院贵州师范大学职业技术学院 毕业设计(论文)毕业设计(论文) 第 24 页 共 30 页 datagrid1.refresh else msgbox (“此时没有超期的图书!“), , “系统提示信息“ end if end sub 3.2.7 图书归还模块的设计与实现图书归还模块的设计与实现 添加按钮关键设计代码:添加按钮关键设计代码: if flag = “添加“ then text1.text = text1.text + 1 text2.text = “ & text2.text & “ text5.text = left(text5.text, 9) & “-“ & right(text5.text, 1) + 1 if checkdata then adodc1.connectionstring = conn adodc1.recordsource = “select * from 图书信息表 order by 图书编号“ adodc1.refresh if adodc1.recordset.recordcount 0 then adodc1.recordset.addnew set nstream = new adodb.stream nstream.type = adtypebinary nstream.open adodc1.recordset.fields(“图书编号“) = text1.text adodc1.recordset.fields(“图书名称“) = text2.text adodc1.recordset.fields(“图书类型“) = text3.text adodc1.recordset.fields(“作者“) = text4.text adodc1.recordset.fields(“isbn“) = text5.text adodc1.recordset.fields(“出版社“) = text6.text adodc1.recordset.fields(“出版日期“) = dtpicker1.value adodc1.recordset.fields(“图书页数“) = text7.text adodc1.recordset.fields(“价格“) = text8.text 贵州师范大学职业技术学院贵州师范大学职业技术学院 毕业设计(论文)毕业设计(论文) 第 25 页 共 30 页 adodc1.recordset.fields(“总藏书数量“) = text9.text adodc1.recordset.fields(“现存数量“) = text10.text adodc1.recordset.fields(“简介“) = text11.text adodc1.recordset.update msgbox (“添加成功!“), vbokonly + vbexclamation, (“系统提示信息“) adodc1.refresh end if end if end if datagrid1_click()事件关键设计代码:事件关键设计代码: 新增图书信息.text2.setfocus mm = datagrid1.columns(0).text adodc2.connectionstring = conn adodc2.recordsource = “select * from 图书信息表 where 图书编号=“ & trim(mm) & “ adodc2.refresh if adodc2.recordset.recordcount 0 then text1.text = adodc2.recordset.fields(“图书编号“) text2.text = adodc2.recordset.fields(“图书名称“) text2.text = adodc2.recordset.fields(“图书名称“) text3.text = adodc2.recordset.fields(“图书类型“) text4.text = adodc2.recordset.fields(“作者“) text5.text = adodc2.recordset.fields(“isbn“) text6.text = adodc2.recordset.fields(“出版社“) dtpicker1.value = adodc2.recordset.fields(“出版日期“) text7.text = adodc2.recordset.fields(“图书页数“) text8.text = adodc2.recordset.fields(“价格“) text9.text = adodc2.recordset.fields(“总藏书数量“) text10.text = adodc2.recordset.fields(“现存数量“) text11.text = adodc2.recordset.fields(“简介“) end if command2.enabled = true 贵州师范大学职业技术学院贵州师范大学职业技术学院 毕业设计(论文)毕业设计(论文) 第 26 页 共 30 页 3.2.8 图书类别管理的设计与实现图书类别管理的设计与实现 treeview1_click()事件关键设计代码:事件关键设计代码: mm = treeview1.selecteditem.key qq = right(mm, len(mm) - 2) adodc1.recordsource = “select * from 图书类型表 where 类型层次编号=“ & trim(qq) & “ adodc1.refresh if adodc1.recordset.recordcount 0 then text1.text = adodc1.recordset.fields(“图书类型代码“) text2.text = adodc1.recordset.fields(“图书类型名称“) text3.text = adodc1.recordset.fields(“图书类型说明“) text4.text = adodc1.recordset.fields(“类型层次编号“) text5.text = adodc1.recordset.fields(“类型父项编号“) text6.text = adodc1.recordset.fields(“类型父项编号“) & “_“ & adodc1.recordset.fields(“图书类型名称 “) end if 图书类别管理.frame2.enabled = true 保存按钮关键设计代码:保存按钮关键设计代码: checkdata() 函数 private function checkdata() as boolean if text1.text = “ or text2.text = “ then msgbox (“代码和名称不能为空!“), vbokonly, “系统提示信息“ exit function end if adodc1.recordsource = “select * from 图书类型表 where 图书类型代码=“ & trim(text1.text) & “or 类型层次编号=“ & trim(text4.text) & “ order by 类型父项编号“ adodc1.refresh if adodc1.recordset.recordcount 0 then msgbox (“该信息已存在,重复添加!“), vbokonly, “系统提示信息“ adodc1.recordset.close 贵州师范大学职业技术学院贵州师范大学职业技术学院 毕业设计(论文)毕业设计(论文) 第 27 页 共 30 页 checkdata = false exit function else checkdata = true end if end function tree() 函数 private sub tree() treeview1.nodes.clear set node1 = treeview1.nodes.add(, , “kk“, “图书类型列表“, 1) adodc1.recordsource = “select * from 图书类型表 order by 类型父项编号“ adodc1.refresh do while adodc1.recordset.eof = false if adodc1.recordset.fields(“类型父项编号“) = 0 then f_key = trim(“k_“ & adodc1.recordset.fields(“类型层次编号“) f_text = adodc1.recordset.fields(“图书类型代码“) & “_“ & adodc1.recordset.fields(“图书类型名称“) call addfu(f_key, f_text) else str_key = adodc1.recordset.fields(“类型父项编号“) c_key = adodc1.recordset.fields(“类型层次编号“) c_text = adodc1.recordset.fields(“图书类型名称“) call addchildnode(“k_“ & str_key, “k_“ & c_key, c_text) end if adodc1.recordset.movenext loop end sub 3.2.9 增加读者模块的设计与实现增加读者模块的设计与实现 添加按钮关键设计代码:添加按钮关键设计代码: if flag = “添加“ then if checkdata then adodc1.connectionstring = conn 贵州师范大学职业技术学院贵州师范大学职业技术学院 毕业设计(论文)毕业设计(论文) 第 28 页 共 30 页 adodc1.recordsource = “select * from 读者信息表 order by 读者编号“ adodc1.refresh if adodc1.recordset.recordcount 0 then adodc1.recordset.addnew set nstream = new adodb.stream nstream.type = adtypebinary nstream.open savepicture picture1.picture, “ & app.path & “/11.jpg“ nstream.loadfromfile “ & app.path & “/11.jpg“ adodc1.recordset.fields(“照片“).value = nstream.read adodc1.recordset.fields(“读者编号“) = text1.text adodc1.recordset.fields(“姓名“) = text2.text adodc1.recordset.fields(“出生日期“) = dtpicker1.value adodc1.recordset.fields(“性别“) = combo3.text if combo1.text = “请选择“ then msgbox (“请选择读者类型!“), vbokonly, “系统提示信息“ combo1.setfocus exit sub end if if combo2.text = “ then msgbox (“请选择读者状态!“), vbokonly, “系统提示信息“ combo2.setfocus exit sub end if adodc1.recordset.fields(“读者类型“) = left(combo1.text, 2) adodc1.recordset.fields(“读者状态“) = combo2.text adodc1.recordset.fields(“联系号码“) = text5.text adodc1.recordset.fields(“证件号码“) = text6.text adodc1.recordset.fields(“办证日期“) = dtpicker2.value adodc1.recordset.update msgbox (“添加成功“), vbokonly + vbexclamation, (“系统提示信息“) text1.text = text1.text + 1 text2.text = “ text2.setfocus adodc1.refresh end if end if end if 修改按钮关键设计代码:修改按钮关键设计代码: if flag = “修改“ then set nstream = new adodb.stream nstream.type = adtypebinary nstream.open savepicture picture1.picture, “ & app.path & “/11.jpg“ nstream.loadfromfile “ & app.path & “/11.jpg“ adodc1.recordset.fields(“照片“).value = nstream.read adodc1.recordset.fields(“读者编号“) = text1.text adodc1.recordset.fields(“姓名“) = text2.text adodc1.recordset.fields(“出生日期“) = dtpicker1.value adodc1.recordset.fields(“性别“) = combo3.text adodc1.recordset.fields(“读者状态“) = combo2.text adodc1.recordset.fields(“联系号码“) = text5.text adodc1.recordset.fields(“证件号码“) = text6.text 贵州师范大学职业技术学院贵州师范大学职业技术学院 毕业设计(论文)毕业设计(论文) 第 29 页 共 30 页 adodc1.recordset.update msgbox (“修改成功“), vbokonly + vbexclamation, (“系统提示信息“) 读者信息管理.show 新增读者信息.hide adodc1.refresh end if 3.2.10 增加读者模块的设计与实现增加读者模块的设计与实现 总结与提高总结与提高 图书管理系统是高校图书馆和教育单位图书馆内部必须运用的一项重要软件工 具,但多年来人们一直在使用传统的人工方式进行有关管理。这种管理方式存在着 许多众所周知的缺点,如效率低、保密性差且较为烦琐,另外随着图书体系的不断 扩展、部门、人员,图书、分类信息层次的复杂化,图书的管理工作量也将大大增 加。这必然增加了管理者和操作者的工作量和劳动强度,给图书资料信息的查找、 系统更新和维护都带来了很多困难。 经过详细的调查,目前我国高校图书馆和教育单位图书馆中有相当一部分图书管 理流程模式还停留在人工操作的基础上。尤其是中、小型图书馆的情况更是如此, 这样的运营机制已经不能适
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 转让机器技术合同协议
- 水桶购买协议书
- 期货减产协议书
- 《血液输注原理与应用》课件
- 三方出资合伙合同
- 遮光补偿协议书合同协议
- 通风空调工程合同协议
- 谅解协议书格式模板
- 漏水修补协议书
- 服装设计定制服务合同
- 万用表校准报告
- (部编版一年级下册)语文第七单元复习课件
- 新闻采访与写作(马工程笔记)
- DB32∕T 1703-2011 科技成果转化服务规范总则
- SQ-02-绿色食品种植产品调查表0308
- 视频结构化大数据平台解决方案
- SolidWorks、CAD三维建模练习习题图
- 丽声北极星分级绘本第二级上Dinner for a Dragon 教学设计
- 活跃气氛的开场小游戏「培训破冰前必备」
- 光伏发电项目安全专项投资估算方案
- 上海证券交易所(课堂PPT)
评论
0/150
提交评论