首页 毕业论文--vb图书管理系统毕业设计

毕业论文--vb图书管理系统毕业设计

举报
开通vip

毕业论文--vb图书管理系统毕业设计毕业论文--vb图书管理系统毕业设计 摘 要 随着人类社会的发展人类对知识的需求也不断地增长在这种形势下书籍就 渐渐地成为人们获取并增长知识的主要途径而图书馆就自然而然地在人们的生 活中占据了一定的位置如何科学地管理图书馆不但关系到读者求知的方便程度 也关系到图书馆的发展因此开发一套完善的图书馆管理系统就成不可少了本文 介绍了在Visual Basic60环境下采用自上而下地总体规划自下而上地应用开发 的策略开发本系统的详细过程提出实现图书馆信息管理资源共享的基本目标从 而推动迈向数字化图书馆的步伐并阐述系统结...

毕业论文--vb图书管理系统毕业设计
毕业论文--vb图书管理系统毕业 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 摘 要 随着人类社会的发展人类对知识的需求也不断地增长在这种形势下书籍就 渐渐地成为人们获取并增长知识的主要途径而图书馆就自然而然地在人们的生 活中占据了一定的位置如何科学地管理图书馆不但关系到读者求知的方便程度 也关系到图书馆的发展因此开发一套完善的图书馆管理系统就成不可少了本文 介绍了在Visual Basic60环境下采用自上而下地总体规划自下而上地应用开发 的策略开发本系统的详细过程提出实现图书馆信息管理资源共享的基本目标从 而推动迈向数字化图书馆的步伐并阐述系统结构设计和功能设计从图书的入库 登记到查询浏览从借书证发放到图书的借阅形成了一个整体自动化管理模式从 软件工程的角度进行了科学而严谨的阐述 关键词图书管理借阅浏览Visual Basic60 Abstract With the development of society Mankind need more knowledge also constantly increase Under this fsituation book gradually become the main path to obtain the knowledge of life and library naturally occupied in people certainly position how science ground the management library not only relate to the convenient degree that the reader beg to know but also relate to the library that strategy of development therefore develop the management system of a perfect library cant little this text introduced under the Visual Basic60 the environment adoption" from top to bottom total programming from the detailed process that bottom but up applied development" develop this system from the step that but the push head into the arithmetic figure of the library and shows the system construction design and function design from the books of store in warehouse to register the search to view books that issue from library card to angle of borrow become a the whole automation the management the mode and proceeds careful explain from the software engineering science Keywordslibrary borrowsearch to viewVisual Basic60 目 录 概述 11 数据库及其应用?–3 12 数据库系统?–3 13 数据库系统简介?–4 2 数据库系统设计 21 数据库设计概述?–5 22数据库设计周期 ?–5 23 设计工具简介?–6 24 图书管理系统数据库设计?–6 3 系统总体设计 31 图书管理系统简介 ?–11 32 系统功能描述 ?–12 33 系统模块划分 ?–12 34 系统流程 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 ?–13 35 开发工具简介 ?–14 36 系统详细设计 ?–15 com 启动界面设计?–15 com 登陆界面设计?–15 com 主窗口设计?–16 com 具体功能模块设计?–16 4 总结谢辞 ?–19 参考文献 ?–20 附录系统原程序 ?–21 1 概 述 11数据库及其应用 自20世纪70年代以来数据库技术得到迅速发展目前世界上已经有数百万个数据库系统在运行其应用已经深入到社会生活的各个领域从企业管理银行管理资源管理经济预测一直到信息检索档案管理普查统计等我国20世纪90年代初在全国范围内装备了12个以数据库为基础的大型计算机系统这些系统分布在邮电计委银行电力铁路气象民航情报公安军事航天和财税等行业 现在数据库技术还在不断发展并且不断的与其它计算机技术相互渗透数据库技术与网络通信技术相结合产生了分布式数据库系统数据库技术与面象对象技术相结合产生了面向对象数据库系统等各种数据库系统 在人类迈向21世纪知识经济的时候信息变为经济发展的战略资源信息技术已成为社会生产力重要的组成部分人们充分认识到数据库是信息化社会 中信息资源管理与开发利用的基础对于一个国家数据库的建设规模使用水平已成为衡量该国信息化程度的重要标志因此数据库的学习是非常重要的 12数据库系统 数据库系统本质上是一个用计算机存储 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 的系统数据库本身可被看作为一种电子文件柜也就是说它是收集计算机数据文件的仓库或容器系统用户可以对这些文件执行插入数据检索数据更改数据删除数据等一系列操作 总之数据库系统是一个计算机存储记录的系统即它是一个计算机系统该系统的目标存储信息并支持用户检索和更新所需要的信息图1-2是一个数据库系统的简图 图1-2 数据库系统简图 13数据库系统简介 本人设计的是一个关于图书馆图书管理的数据库系统通过这个系统管理员可以简捷方便的对图书记录查阅增加删除等功能而用户也可以通过这个系统对进行图书查询借阅归还等功能 该数据库应用程序按照用户权限和实现功能的不同分为两部分外部学生对数据库的查询访问和内部管理人员对数据记录的管理维护每一部分中包含各自实现的各项功能对每一项功能的实现将按照窗体设计以及运行情况的顺序逐一进行设计 本系统采用Microsoft access技术建立数据库使用VB技术建立数据源的链接并且生成图书管理的数据库应用程序从而实现数据库的管理功能 2 数据库系统设计 21数据库设计概述 计算机信息系统以数据库为核心在数据库管理系统的支持下进行信息的收集整理存储检索更新加工统计和传播等操作 对于数据库应用开发人员来说为使现实世界的信息流计算机话并对计算机话的信息进行各种操作就是如何利用数据库管理系统系统软件和相关硬件系统将用户的要求转化成有效的数据结构并使数据库结构易于实现用户新的要求的过程 确切的说数据库设计是指对于一个给定的应用环境提供一个确定最优数据模型与处理模式的逻辑设计以及一个确定数据库存储结构与存取方法的物理设计建立起既能反映现实世界信息和信息联系满足用户数据要求和加工要求有能被某个数据库管理系统所接受同时能实现系统目标并有效存取数据的数据库 22数据库设计周期 根据软件工程的思想数据库设计的周期可以划分为六个阶段 1 规划阶段 确定开发的总目标给出 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 开发的软件系统的功能性能可靠性以及接等方面的设想 2 需求分析阶段 认真细致地了解用户对数据的加工要求确定系统的功能与边界本阶段的最终结果提供一个可作为设计基础的系统说明书包括对软硬件环境的要求和一整套完善的数据流程图 3 设计阶段 把需求分析阶段所确定的功能细化主要工作是概念设计阶段逻辑设计阶段 物理设计阶段然后对每个阶段内部设计详细的流程 4 程序编制阶段 以一种或几种特定的程序设计语言表达上一阶段确定的各模块控制流程程序编制时应遵循结构化程序设计方法 5 调试阶段 对已编好的程序进行单元调试分调整体调试联调和系统测试验收 6 运行和维护阶段 这是整个设计周期最长的阶段其工作重点是收集和记录系统实际运行的数据在运行中必须保持数据库的完整性必须有效的处理数据故障和进行数据库恢复同时解决开发过程的遗留问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 改正错误进行功能完善 23数据库开发工具简介Microsoft Access2003随着社会发展人类的生产生活越来越离不开信息谁拥有了更多更有效的信息谁就将在竞争中处于有利地位信息产业正在成为一个国家的支柱数据作为信息的载体其管理工具数据库对于信息技术的重要性正日益得到人们的重视只有拥有了先进的数据库技术才能有效地管理好浩如烟海的数据并从中提取出对自己有用的信息来加以利用 数据库定义模型图 com概要设计 软件系统本质上是信息处理系统因此在软件系统的整个开发过程中都必须考虑两方面的问题数据及对数据的处理为了把用户的数据要求清晰明确地表达出来系统分析员通常建立一个概念性的数据模型概念性数据模型是一种面向问题的数据模型是按照用户的观点来对数据和信息建模它描述了从用户角度看到的数据它反映了用户的现实环境且与在软件系统中的实现方法无关这里我们运 用最常用的表示概念性数据模型的方法是实体联系方法即ER模型通常软件系统中有许多数据是需要长期保存为减少数据冗余简化修改数据的过程实现对数据进化规范化 数据库表的关系 数据库E-R图 由E-R图转换成关系模式 图书名 图书类别 作者 书籍号 出版社 录入时间 高等数学 SSSS 0001 高等教育 2006(1 数据库 SSS 0003 工业出版 20066 读者关系图 读者姓名 读者编号 性别 读者类别 工作单位 家庭住址 录入时间 汤水平 001 男 DFF 宜春学院 1111 112678 2006(3 223 003 女 FDFD FDFD 4666 65777 用户关系图 用户名 密码 Admin 000000 com的具体实现 作为Microsoft公司的本地数据库Access在应用中使用的非常广泛为此我选用Access数据库来进行数据库的设计根据前面定义的实体及实体之间的关系形成数据库的表格以及各个表之间的关系 用户信息表 说明该表是为用户进入本系统而设置的用户权限只有同时知道用户名和所对应的密码才能进入本系统 读者信息表 说明该表是对读者的信息进行管理 读者类别表 说明该表规定了读者的类别 图书信息表 说明该表详细介绍了图书的相关信息 图书类别表 说明该表对图书进行了分类 借阅信息表 说明该表详细纪录了图书的借阅情况 上述所做的各表都是围绕图书借阅系统而做的所以做好这个方面信息表是 本系统成功的关键环节之一 3 系统总体设计 31 图书管理系统简介 当今时代是飞速发展的信息时代在各行各业中离不开信息处理这正是计算机被广泛应用于信息管理系统的环境计算机的最大好处在于利用它能够进行信息管理使用计算机进行信息控制不仅提高了工作效率而且大大的提高了其安全性 尤其对于复杂的信息管理计算机能够充分发挥它的优越性计算机进行信息管理与信息管理系统的开发密切相关系统的开发是系统管理的前提本系统就是为了管理好图书馆信息而设计的 图书馆作为一种信息资源的集散地图书和用户借阅资料繁多包含很多的信息数据的管理现今有很多的图书馆都是初步开始使用甚至尚未使用计算机进行信息管理根据调查得知他们以前对信息管理的主要方式是基于文本表格等纸介质的手工处理对于图书借阅情况如借书天数超过限定借书时间的天数的统计和核实等往往采用对借书卡的人工检查进行对借阅者的借阅权限以及借阅天数等用人工计算手抄进行数据信息处理工作量大容易出错由于数据繁多容易丢失且不易查找总的来说缺乏系统规范的信息管理手段尽管有的图书馆有计算机但是尚未用于信息管理没有发挥它的效力资源闲置比较突出这就是管理信息系统的开发的基本环境数据处理手工操作工作量大出错率高出错后不易更改图书馆采取手工方式对图书借阅情况进行人工管理由于信息比较多图书借阅信息的管理工作混乱而又复杂一般借阅情况是记录在借书证上图书的数目和内容记录在文件中图书馆的工作人员和管理员也只是当时对它比较清楚时间一长如再要进行查询就得在众多的资料中翻阅查找了造成查询费时费力如要对很长时间以前的图书进行更改就更加困难了 基于这此问题我认为有必要建立一个图书管理系统使图书管理工作规范化系统 化程序化避免图书管理的随意性提高信息处理的速度和准确性能够及时准确有效的查询和修改图书情况Admin用户可以创建用户修改用户信息以及删除用户普通用户则只能修改自己的用户名和密码系统用户管理模块的关系如下图 系统管理功能模块关系图 34 系统流程分析 本节将对实例进行流程分析所谓系统流程就是用户在使用系统是的工作过程对于多类型用户的管理系统来说每一类用户的工作流程都是不相同的多用户系统的工作流程都从用户登陆模块开始的对多用户的身份进行认证身份认证可以分为以下两个过程 1确认用户是否是有效的系统用户 2确定用户的类型 第 1决定用户能否进入系统第2个过程根据用户的类型决定用户的操作权限从而决定用户的工作界面本系统的流程分析如图如下 系统流程分析图 进入系统后不同类型的用户所能进行的操作也不同这些操作可以笼统的分为系统管理和图书借阅管理模块 35 开发工具简介 Visual Basic60 VB是微软公司出品的一个快速可视化程序开发工具软件借助微软在操作系统和办公软件的垄断地位VB在短短的几年内风靡全球VB是极有和功能强大的软件主要表现在所见即所得的界面设计基于对象的设计方法极短的软件开发周期较易维护的生成代码VB程序语言具有许多优秀的特性用其设计应用程序时有两个基本特点可视化设计和事件驱动编程 ?可视化设计 同其他的一些可视化程序开发工具一样VB具有可视化设计的特点微软的Word在刚刚进入市场时同WPS竞争的一个重要的功能砝码就是"所见即所得"的字处理功能VB在设计应用程序界面时也可以说是"所见即所得"在设计时头脑中所想象的应用程序界面完全可以通过键盘鼠标以及徒手画出来而不是编制大量的代码然后再编译生成如果需要修改也是利用键盘鼠标和手画而底层的一些程序代码由VB自动生成或修改VB为用户提供大量的界面元素 在VB中称为控件对象 这些控件对象对于熟悉Windows应用程序的用户而言是一点也不陌生如"窗体""菜单""命令按钮""工具按钮""检查框"等等用户只需要利用鼠标键盘把这些控件对象拖动到适当的位置设置它们的大小形状属性等就可以设计出所需的应用程序界面 ?事件驱动编程 Windows操作系统出现以来图形化的用户界面和多任务多进程的应用程序要求程序设计不能是单一性的在使用VB设计应用程序时必须首先确定应用程序如何同用户进行交互例如发生鼠标单击键盘输入等事件时由用户编写的代码控制这些事件的响应这就是所谓的事件驱动编程 Vb60有三种版本各自满足不同的开发需要 1Visual Basic 学习版使编程人员轻松开发Windows 9598和windows NT的应用程序该版本包括所有的内部控件连同gridtab和data-bound控件学习版提供的文档有程序员指南联机帮助及Visual Basic联机手册 2专业版为专业编程人员提供了一整套进行开发的功能完备的工具该版本包括学习版的全部功能连同 ActiveX控件还包括Internet控件和Crystal Report Writer专业版提供的文挡有程序员指南联机帮助和部件工具指南 3企业版使得专业编程人员能够开发功能强大的组内分布式应用程序该版本包括专业版的全部功能连同自动化管理器部件管理器数据库管理工具Microsoft Visual Sourcesafe面向工程版的控制系统等企业版提供的文挡包括专业版的所有文挡还有客户服务器应用程序开发指南和Sourcesafe用户指南 本系统正是采用Visual Basic 企业版所开发的管理系统 36系统详细设计 根据系统分析系统设计的结果采用VB作为开发工具实现图书管理系统各模块的功能 com 启动界面设计 系统启动首先出现如下对话框 该界面显示了有关的系统信息 com 登陆界面设计 单击启动界面确定将出现如下对话框 该界面为用户登陆界面用户输入自己的用户名和密码就能成功登陆本系统如果密码连续3次输错用户身份没有被确认系统讲自动关闭该设计有助于维护系统的安全防止非法登陆 com 主界面设计 用户登陆成功将进入如下系统主界面 在主界面中将显示本系统的所有功能菜单单击任一菜单将进入相应的功能窗口 com 其他功能模块设计 ?图书管理模块的实现 要实现图书管理模块应首先点击图书管理主菜单如下 然后单击添加图书信息其窗体如下 该窗口的功能是为用户添加图书信息而设计的用户可以通过本窗口把图书 的详细资料添加到图书信息库中 ?读者信息管理模块的实现 点击读者管理主菜单如下 然后单击添加读者信息其窗口如下 本窗口实现读者信息的添加通过本窗口把读者的详细信息添加到读者信息 库中方便对读者的管理 ?图书借阅管理模块的实现 要实现图书借阅管理模块应首先点击图书借阅管理主菜单如下 然后单击还书管理其窗体如下 本窗口的功能是为实现还书管理而设计的用户通过该界面可以有效的管理 图书的归还情况 ?系统管理模块的实现 实现系统管理功能点击系统管理主菜单如下 单击添加管理员其窗口如下 新用户可以通过本窗口实现注册和添加 ?系统维护模块的实现 系统维护模块主菜单如下 单击数据备份按钮其实现窗口如下 4 总 结谢 辞 经过三个月的设计和开发图书馆管理系统基本开发完毕其功能基本符合用户的需求能够完成用户的图书信息管理图书借阅管理读者信息管理系统维护等方面的功能以及各种相关功能的扩展但是由于毕业设计时间较短加上知识的有限该系统还有许多不足的地方源程序调试方面的问题还有好多出错处理不够等方面问题这些都有待于今后进一步的改善在设计过程中通过学习了解了数据库系统的开发原理和应用基本掌握了开发工具Visual Basic60和Microsoft Access2003的使用为今后的学习和开发打下了坚实的基础 在本次毕业设计中我从指导老师那学到了好多东西老师认真负责的工作态度严谨的治学精神和深厚的理论水平都使我受益非浅在系统设计开发过程中XXXXXX老师给予了很大的帮助帮助解决了很多难题使得系统能及时开发完成还有在我设计过程中许多同学给予了大力的支持在这里一致表示感谢 参 考 文 献 [1]孙越编著Visual Basic数据库开发教程[M]人民邮电出版社 2002 [2]启明工作室Visual Basic Access数据库应用系统开发[M]人民邮电出版社 2004 [3]黄志球李清等数据库应用技术基础[M]机械工业出版社2003 [4]刘韬Visual Basic60数据库系统开发导航[M] 人民邮电出版社2003 [5]恒扬科导Visual Basic60程序设计学与用教程[M] 机械工业出社2003 [6] 刘瑞新 张二峰等Visual Basic管理信息系统开发[M] 机械工业出版社2005 附录系统原程序 系统开始界面程序 Option Explicit Reg Key Security Options Const READ_CONTROL H20000 Const KEY_QUERY_VALUE H1 Const KEY_SET_VALUE H2 Const KEY_CREATE_SUB_KEY H4 Const KEY_ENUMERATE_SUB_KEYS H8 Const KEY_NOTIFY H10 Const KEY_CREATE_LINK H20 Const KEY_ALL_ACCESS KEY_QUERY_VALUE KEY_SET_VALUE KEY_CREATE_SUB_KEY KEY_ENUMERATE_SUB_KEYS KEY_NOTIFY KEY_CREATE_LINK READ_CONTROL Reg Key ROOT Types Const HKEY_LOCAL_MACHINE H80000002 Const ERROR_SUCCESS 0 Const REG_SZ 1 Unicode nul terminated string Const REG_DWORD 4 32-bit number Const gREGKEYSYSINFOLOC "SOFTWARE\Microsoft\Shared Tools Location" Const gREGVALSYSINFOLOC "MSINFO" Const gREGKEYSYSINFO "SOFTWARE\Microsoft\Shared Tools\MSINFO" Const gREGVALSYSINFO "PATH" Private Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" ByVal hKey As Long ByVal lpSubKey As String ByVal ulOptions As Long ByVal samDesired As Long ByRef phkResult As Long As Long Private Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" ByVal hKey As Long ByVal lpValueName As String ByVal lpReserved As Long ByRef lpType As Long ByVal lpData As String ByRef lpcbData As Long As Long Private Declare Function RegCloseKey Lib "advapi32" ByVal hKey As Long As Long Private Sub cmdSysInfo_Click Call StartSysInfo End Sub Private Sub cmdOK_Click Unload Me frmLoginShow End Sub Public Sub StartSysInfo On Error GoTo SysInfoErr Dim rc As Long Dim SysInfoPath As String Try To Get System Info Program Path\Name From Registry If GetKeyValue HKEY_LOCAL_MACHINE gREGKEYSYSINFO gREGVALSYSINFO SysInfoPath Then Try To Get System Info Program Path Only From Registry ElseIf GetKeyValue HKEY_LOCAL_MACHINE gREGKEYSYSINFOLOC gREGVALSYSINFOLOC SysInfoPath Then Validate Existance Of Known 32 Bit File Version If Dir SysInfoPath "\MSINFO32EXE" "" Then SysInfoPath SysInfoPath "\MSINFO32EXE" Error - File Can Not Be Found Else GoTo SysInfoErr End If Error - Registry Entry Can Not Be Found Else GoTo SysInfoErr End If Call Shell SysInfoPath vbNormalFocus Exit Sub SysInfoErr MsgBox "System Information Is Unavailable At This Time" vbOKOnly End Sub Public Function GetKeyValue KeyRoot As Long KeyName As String SubKeyRef As String ByRef KeyVal As String As Boolean Dim i As Long Loop Counter Dim rc As Long Return Code Dim hKey As Long Handle To An Open Registry Key Dim hDepth As Long Dim KeyValType As Long Data Type Of A Registry Key Dim tmpVal As String Tempory Storage For A Registry Key Value Dim KeyValSize As Long Size Of Registry Key Variable Open RegKey Under KeyRoot HKEY_LOCAL_MACHINE rc RegOpenKeyEx KeyRoot KeyName 0 KEY_ALL_ACCESS hKey Open Registry Key If rc ERROR_SUCCESS Then GoTo GetKeyError Handle Error tmpVal String 1024 0 Allocate Variable Space KeyValSize 1024 Mark Variable Size Retrieve Registry Key Value rc RegQueryValueEx hKey SubKeyRef 0 _ KeyValType tmpVal KeyValSize GetCreate Key Value If rc ERROR_SUCCESS Then GoTo GetKeyError Handle Errors If Asc Mid tmpVal KeyValSize 1 0 Then Win95 Adds Null Terminated String tmpVal Left tmpVal KeyValSize - 1 Null Found Extract From String Else WinNT Does NOT Null Terminate String tmpVal Left tmpVal KeyValSize Null Not Found Extract String Only End If Determine Key Value Type For Conversion Select Case KeyValType Search Data Types Case REG_SZ String Registry Key Data Type KeyVal tmpVal Copy String Value Case REG_DWORD Double Word Registry Key Data Type For i Len tmpVal To 1 Step -1 Convert Each Bit KeyVal KeyVal Hex Asc Mid tmpVal i 1 Build Value Char By Char Next KeyVal Format "h" KeyVal Convert Double Word To String End Select GetKeyValue True Return Success rc RegCloseKey hKey Close Registry Key Exit Function Exit GetKeyError Cleanup After An Error Has Occured KeyVal "" Set Return Val To Empty String GetKeyValue False Return Failure rc RegCloseKey hKey Close Registry Key End Function Private Sub Form_Load End Sub 系统登陆界面程序 sql "select from 用户表where user_ID " Trim text1Text "" rs_loginOpen sql conn adOpenKeyset adLockPessimistic If rs_loginEOF True Then MsgBox "没有这个用户请重新输入" vbOKOnly vbExclamation "" text1Text "" text1SetFocus Else username text1Text If Trim rs_loginFields 1 Trim text2Text Then Unload Me frmMainShow Else MsgBox "密码不正确请重新输入" vbOKOnly vbExclamation "" text2SetFocus text2Text "" End If End If End If cnt cnt 1 If cnt 3 Then Unload Me End If End Sub Private Sub Form_Load cnt 0 End Sub 图书管理界面程序 Option Explicit Dim panduan As String Private Sub Command1_Click Dim rs_findbook As New ADODBRecordset Dim conn As New ADODBConnection Dim sql As String If Check1Value vbChecked Then sql "书名 " Trim Text1Text "" "" End If If Check2Value vbChecked Then If Trim sql "" Then sql "类别 " Trim Combo1Text " " "" Else sql sql "and 类别 " Trim Combo1Text " " "" End If End If If Check3Value vbChecked Then If Trim sql "" Then sql "作者 " Trim Text2Text " " "" Else sql sql "and 作者 " Trim Text2Text " " "" End If End If If Check4Value vbChecked Then If Trim sql "" Then sql "图书编号 " Trim Text3Text " " "" Else sql sql "图书编号 " Trim Text3Text " " "" End If End If If Check5Value vbChecked Then If Trim sql "" Then sql "出版社 " Trim Text4Text " " "" Else sql sql "and 出版社 " Trim Text4Text " " "" End If End If connOpen "provider Microcomcom data source " AppPath "\databasemdb" If Trim sql "" Then MsgBox "请选择查询方式" vbOKOnly vbExclamation Exit Sub End If sql "select from 书籍信息 where " sql rs_findbookCursorLocation adUseClient rs_findbookOpen sql conn adOpenKeyset adLockPessimistic DataGrid1AllowAddNew False DataGrid1AllowDelete False DataGrid1AllowUpdate False If rs_findbookRecordCount 0 Then MsgBox "查询不到该图书信息" vbOKOnly vbExclamation Else Set DataGrid1DataSource rs_findbook End If End Sub Private Sub Command2_Click Unload Me End Sub Private Sub Command3_Click If Trim book_num "" Then MsgBox "请选择要借阅的图书" vbOKOnly vbExclamation Exit Sub End If If panduan "是" Then MsgBox "此书已被借出" vbOKOnly vbExclamation Exit Sub End If Unload Me frmborrowbookShow End Sub Private Sub DataGrid1_RowColChange LastRow As Variant ByVal LastCol As Integer book_num DataGrid1Columns 0 CellValue DataGrid1Bookmark panduan DataGrid1Columns 7 CellValue DataGrid1Bookmark End Sub Private Sub Form_Load Dim rs_find As New ADODBRecordset Dim conn As New ADODBConnection Dim sql As String sql "select from 图书类别" connOpen "provider Microcomcom data source " AppPath "\databasemdb" rs_findOpen sql conn adOpenKeyset adLockPessimistic rs_findMoveFirst If Not rs_findEOF Then Do While Not rs_findEOF Combo1AddItem rs_findFields 0 rs_findMoveNext Loop Combo1ListIndex 0 End If rs_findClose End Sub 读者管理界面程序 Private Sub Command1_Click Dim rs_findreader As New ADODBRecordset Dim conn As New ADODBConnection Dim sql As String If Check1Value vbChecked Then sql "读者编号 " Trim Text1Text "" "" End If If Check2Value vbChecked Then If Trim sql "" Then sql "读者姓名 " Trim Text2Text " " "" Else sql sql "and 类别 " Trim Text2Text " " "" End If End If If Check3Value vbChecked Then If Trim sql "" Then sql "读者类别 " Trim Combo1Text " " "" Else sql sql "and 读者类别 " Trim Combo1Text " " "" End If End If connOpen "provider Microcomcom data source " AppPath "\databasemdb" If Trim sql "" Then MsgBox "请选择查询方式" vbOKOnly vbExclamation Exit Sub End If sql "select from 读者信息 where " sql rs_findreaderCursorLocation adUseClient rs_findreaderOpen sql conn adOpenKeyset adLockPessimistic DataGrid1AllowAddNew False DataGrid1AllowDelete False DataGrid1AllowUpdate False If rs_findreaderRecordCount 0 Then MsgBox "查询不到该图书信息" vbOKOnly vbExclamation Else Set DataGrid1DataSource rs_findreader End If End Sub Private Sub Command2_Click Unload Me End Sub Private Sub Form_Load Dim rs_find As New ADODBRecordset Dim conn As New ADODBConnection Dim sql As String sql "select from 读者类别" connOpen "provider Microcomcom data source " AppPath "\databasemdb" rs_findOpen sql conn adOpenKeyset adLockPessimistic rs_findMoveFirst If Not rs_findEOF Then Do While Not rs_findEOF Combo1AddItem rs_findFields 0 rs_findMoveNext Loop Combo1ListIndex 0 End If rs_findClose End Sub 图书借阅管理程序 借书管理界面 Dim leibie As String 该读者的类别 Dim qixian As String 该读者借书的期限 Dim shumu As Integer 该读者已借书数量 Dim num As Integer 该读者借书数量的限制 Private Sub Combo1_Click Combo2ListIndex Combo1ListIndex End Sub Private Sub Combo2_Click Combo1ListIndex Combo2ListIndex End Sub Private Sub Command1_Click Dim rs_borrowbook As New ADODBRecordset Dim sql As String Dim conn As New ADODBConnection connOpen "provider Microcomcom data source " AppPath "\databasemdb" sql "select from 读者信息 where 读者编号 " Combo1Text "" rs_borrowbookOpen sql conn adOpenKeyset adLockPessimistic leibie rs_borrowbookFields 3 shumu rs_borrowbookFields 8 rs_borrowbookClose sql "select from 读者类别 where 种类名称 " leibie "" rs_borrowbookOpen sql conn adOpenKeyset adLockPessimistic qixian rs_borrowbookFields 2 num rs_borrowbookFields 1 rs_borrowbookClose If shumu num Then MsgBox "该读者借书数额已满" vbOKOnly vbExclamation Exit Sub End If sql "select from 借阅信息" rs_borrowbookOpen sql conn adOpenKeyset adLockPessimistic rs_borrowbookAddNew rs_borrowbookFields 1 Combo1Text rs_borrowbookFields 2 Combo2Text rs_borrowbookFields 3 Label8Caption rs_borrowbookFields 4 Label9Caption rs_borrowbookFields 5 Date rs_borrowbookFields 6 Date qixian rs_borrowbookUpdate rs_borrowbookClose sql "select from 书籍信息 where 图书编号 " book_num "" rs_borrowbookOpen sql conn adOpenKeyset adLockPessimistic rs_borrowbookFields 7 "是" rs_borrowbookUpdate rs_borrowbookClose sql "select from 读者信息 where 读者编号 " Combo1Text "" rs_borrowbookOpen sql conn adOpenKeyset adLockPessimistic rs_borrowbookFields 8 rs_borrowbookFields 8 1 rs_borrowbookUpdate rs_borrowbookClose MsgBox "本书借阅成功" vbOKOnly vbExclamation Unload Me End Sub Private Sub Command2_Click Unload Me End Sub Private Sub Form_Load Dim rs_borrow As New ADODBRecordset Dim rs_reader As New ADODBRecordset Dim conn As New ADODBConnection Dim sql As String Dim sqlreader As String connOpen "provider Microcomcom data source " AppPath "\databasemdb" sql "select from 书籍信息 where 图书编号 " book_num "" rs_borrowOpen sql conn adOpenKeyset adLockPessimistic Label8Caption rs_borrowFields 0 Label9Caption rs_borrowFields 1 Label10Caption rs_borrowFields 3 Label11Caption rs_borrowFields 5 Label12Caption rs_borrowFields 2 Label13Caption rs_borrowFields 4 Label14Caption rs_borrowFields 6 sqlreader "select from 读者信息" rs_readerOpen sqlreader conn adOpenKeyset adLockPessimistic If Not rs_readerEOF Then Do While Not rs_readerEOF Combo1AddItem rs_readerFields 1 Combo2AddItem rs_readerFields 0 rs_readerMoveNext Loop Else MsgBox "请先登记读者" vbOKOnly vbExclamation Exit Sub End If rs_borrowClose rs_readerClose End Sub Private Sub Frame1_DragDrop Source As Control X As Single Y As Single End Sub 还书管理界面 Private Sub Combo1_Click Combo2ListIndex Combo1ListIndex End Sub Private Sub Combo2_Click Combo1ListIndex Combo2ListIndex End Sub Private Sub Combo3_Click Combo4ListIndex Combo3ListIndex End Sub Private Sub Combo4_Click Combo3ListIndex Combo4ListIndex End Sub Private Sub Command1_Click Dim rs_reader As New ADODBRecordset Dim conn As New ADODBConnection Dim sql As String findform False sql "select from 借阅信息 where 读者姓名 " Combo2Text "" connOpen "provider Microcomcom data source " AppPath "\databasemdb" rs_readerCursorLocation adUseClient rs_readerOpen sql conn adOpenKeyset adLockPessimistic Set DataGrid1DataSource rs_reader DataGrid1AllowAddNew False DataGrid1AllowUpdate False DataGrid1AllowDelete False End Sub Private Sub Command2_Click Dim rs_book As New ADODBRecordset Dim conn As New ADODBConnection Dim sql As String findform False sql "select from 借阅信息 where 书籍编号 " Combo3Text "" connOpen "provider Microcomcom data source " AppPath "\databasemdb" rs_bookCursorLocation adUseClient rs_bookOpen sql conn adOpenKeyset adLockPessimistic Set DataGrid1DataSource rs_book DataGrid1AllowAddNew False DataGrid1AllowUpdate False DataGrid1AllowDelete False End Sub Private Sub Command3_Click Dim book_number As String Dim reader_number As String Dim answer As String Dim rs_back As New ADODBRecordset Dim conn As New ADODBConnection Dim sql As String connOpen "provider Microcomcom data source " AppPath "\databasemdb" book_number DataGrid1Columns 3 CellValue DataGrid1Bookmark reader_number DataGrid1Columns 1 CellValue DataGrid1Bookmark answer MsgBox "确定要还这本书吗" vbYesNo "" If answer vbYes Then sql "select from 借阅信息 where 书籍编号 " book_number "" 删除这本书在"借阅信息"中的记录 rs_backCursorLocation adUseClient rs_backOpen sql conn adOpenKeyset adLockPessimistic rs_backDelete rs_backUpdate rs_backClose sql "select from 书籍信息 where 图书编号 " book_number "" rs_backCursorLocation adUseClient rs_backOpen sql conn adOpenKeyset adLockPessimistic rs_backFields 7 "否" rs_backUpdate rs_backClose sql "select from 读者信息 where 读者编号 " reader_number "" rs_backCursorLocation adUseClient rs_backOpen sql conn adOpenKeyset adLockPessimistic rs_backFields 8 rs_backFields 8 - 1 rs_backUpdate rs_backClose MsgBox "成功删除" vbOKOnly vbExclamation "" DataGrid1AllowDelete False Else Exit Sub End If If findform True Then Command1_Click Else Command2_Click End If End Sub Private Sub Command4_Click Unload Me End Sub Private Sub Form_Load Dim rs_reader As New ADODBRecordset Dim conn As New ADODBConnection Dim rs_book As New ADODBRecordset Dim sql As String sql "select from [读者信息]" connOpen "provider Microcomcom data source " AppPath "\databasemdb" rs_readerCursorLocation adUseClient rs_readerOpen sql conn adOpenKeyset adLockPessimistic If Not rs_readerEOF Then Do While Not rs_readerEOF Combo1AddItem rs_readerFields 1 Combo2AddItem rs_readerFields 0 rs_readerMoveNext Loop End If rs_readerClose sql "select from [借阅信息]" rs_bookCursorLocation adUseClient rs_bookOpen sql conn adOpenKeyset adLockPessimistic If Not rs_bookEOF Then Do While Not rs_bookEOF Combo3AddItem rs_bookFields 3 Combo4AddItem rs_bookFields 4 rs_bookMoveNext Loop End If rs_bookClose End Sub Private Sub Frame1_DragDrop Source As Control X As Single Y As Single End Sub 系统管理员管理程序 添加管理员 Private Sub Command1_Click Dim sql As String Dim rs_add As New ADODBRecordset Dim conn As New ADODBConnection connOpen "provider Microcomcom data source " AppPath "\databasemdb" If Trim Text1Text "" Then MsgBox "用户名不能为空请输入" vbOKOnly vbExclamation "" Text1SetFocus Else sql "select from 用户表" rs_addOpen sql conn adOpenKeyset adLockPessimistic While rs_addEOF False If Trim rs_addFields 0 Trim Text1Text Then MsgBox "已有这个用户" vbOKOnly vbExclamation "" Text1SetFocus Text1Text "" Text2Text "" Text3Text "" Exit Sub Else rs_addMoveNext End If Wend If Trim Text2Text Trim Text3Text Then MsgBox "两次密码不一致" vbOKOnly vbExclamation "" Text2SetFocus Text2Text "" Text3Text "" Exit Sub Else rs_addAddNew rs_addFields 0 Text1Text rs_addFields 1 Text2Text rs_addUpdate MsgBox "添加用户成功" vbOKOnly vbExclamation "" MeHide End If End If End Sub Private Sub Command2_Click Unload Me End Sub 更改密码 Private Sub Command1_Click Dim conn As New ADODBConnection Dim rs_mima As New ADODBRecordset Dim sql As String connOpen "provider Microcomcom data source " AppPath "\databasemdb" If Trim Text1Text Trim Text2Text Then MsgBox "密码不一致" vbOKOnly vbExclamation "" Text1SetFocus Text1Text "" Text2Text "" Exit Sub Else sql "select from 用户表 where user_ID " username "" rs_mimaOpen sql conn adOpenKeyset adLockPessimistic rs_mimaFields 1 Text1Text rs_mimaUpdate MsgBox "密码修改成功" vbOKOnly vbExclamation "" Unload Me End If End Sub Private Sub Command2_Click Unload Me End Sub 系统维护界面管理 数据备份 Private m_bHaveDone As Boolean Private Sub Command1_Click frmopendirShow 1 txtpathTextText frmopendirstrSelDir End Sub Private Sub Command2_Click Unload Me End Sub Private Sub Command3_Click m_iBeginSaveTimer 0 Dim rsTableName As New ADODBRecordset Dim rsColumnName As New ADODBRecordset Dim rsData As New ADODBRecordset Dim cnnJLDB As New ADODBConnection Dim sqlname As String Dim strName As String Dim FieldType As Integer Dim FieldLength As Integer Dim FieldName As String Dim FieldNote As String cnnJLDBOpen "provider Microcomcom data source " AppPath "\databasemdb" If Len Trim txtpathTextText 0 Then Result MsgBox "请指定所要备份数据的路径" vbOKOnly "数据 备份" Exit Sub Else If Right Trim txtpathTextText 1 "\" Then txtpathTextText Trim txtpathTextText "\" Else txtpathTextText Trim txtpathTextText End If If Dir txtpathTextText vbDirectory "" Then Result MsgBox "指定路径不存在请建立后继续" vbOKOnly "数据备份" Exit Sub End If End If On Error GoTo ErrorHand 以下为备份数据库 连接数据库 取得数据库所有表名称 Dim strTableName As String Dim nreccount As Long Dim RecordSize As Integer sqlname "select from sysobjects Where type u" rsTableNameOpen sqlname cnnJLDB adOpenStatic adLockReadOnly While Not rsTableNameEOF strTableName Trim rsTableNameName 根据表名确定各个域名及域类型 sqlname "select xtypelengthname from syscolumns where id in select id from sysobjects where name " strTableName " " rsColumnNameOpen sqlname cnnJLDB adOpenStatic adLockReadOnly rsColumnNameMoveLast nreccount rsColumnNameRecordCount ReDim FieldType nreccount ReDim FieldLength nreccount ReDim FieldName nreccount ReDim FieldNote nreccount rsColumnNameMoveFirst RecordSize 0 While Not rsColumnNameEOF nIndex rsColumnNameAbsolutePosition FieldLength nIndex rsColumnNameLength RecordSize RecordSize rsColumnNameLength FieldType nIndex rsColumnNamextype FieldName nIndex rsColumnNameName rsColumnNameMoveNext Wend rsColumnNameClose Open txtpathTextText strTableName "dat" For Binary As 1 从表中读纪录 sqlname "select from " Trim strTableName rsDataOpen sqlname cnnJLDB adOpenStatic adLockReadOnly lblShowInfoCaption "正在备份数据库中表" Trim TableName "的数据" lblShowInfoRefresh ProcessDataSaveMin 0 Dim lRowCount As Long Dim n As Long lRowCount 0 If Not rsDataEOF Then rsDataMoveLast lRowCount rsDataRecordCount rsDataMoveFirst End If If lRowCount 0 Then ProcessDataSave 1 ProcessDataSaveValue 1 lblShowInfoCaption strTableName "表没有纪录" Else ProcessDataSave lRowCount ProcessDataSaveValue ProcessDataSaveMin End If Put 1 lRowCount For n 1 To lRowCount lblShowInfoCaption "正在备份数据库中表" strTableName "的数据" Format n "" Format lRowCount lblShowInfoRefresh For nStep 0 To nreccount - 1 fieldData rsData nStep Put 1 fieldData Next nStep ProcessDataSaveValue n m_iBeginSaveTimer 0 rsDataMoveNext Next n rsDataClose Close 1 rsTableNameMoveNext Wend rsTableNameClose m_bHaveDone True MousePointer 1 Result MsgBox "本系统数据库中的数据备份完毕请保存数据备份目 录下的数据备份文件" vbOKOnly "数据备份" SaveSetting AppTitle "Settings" "StoreDirection" Trim txtpathTextText Unload Me Exit Sub ErrorHand MousePointer 1 MsgBox "数据备份失败请重试必要时联系开发人员" 64 "信息提示" End Sub Private Sub Form_Load m_iBeginSaveTimer 0 On Error Resume Next m_bHaveDone False txtpathTextText GetSetting AppTitle "Settings" "StoreDirection" "d\temp" End Sub Private Sub Form_Unload Cancel As Integer m_iBeginSaveTimer 0 Dim iRespond As Integer If m_bHaveDone False Then 如果还没有备份完数据 iRespond MsgBox "是否确认取消数据备份" 64 4 "信息提示" If iRespond 7 Then Cancel -1 End If End If End Sub 数据恢复 Private Sub Command1_Click m_iBeginSaveTimer 0 Dim respond As Integer respond MsgBox "恢复数据将改写全部数据库现有数据是否继续" 64 4 "是否确认" If respond 7 Then Exit Sub End If If Len Trim txtpathTextText 0 Then Result MsgBox "请指定所要备份数据的路径" vbOKOnly "数据 备份" Exit Sub Else If Right Trim txtpathTextText 1 "\" Then txtpathTextText Trim txtpathTextText "\" Else txtpathTextText Trim txtpathTextText End If If Dir txtpathTextText vbDirectory "" Then Result MsgBox "指定路径不存在" vbOKOnly "数据备份" Exit Sub End If End If On Error GoTo ErrorHand 连接数据库 Dim strFileName As String Dim strTableName As String Dim sqlname As String Dim rsColumnName As New ADODBRecordset Dim rs As New ADODBRecordset Dim rsData As New ADODBRecordset strFileName Dir Trim txtpathTextText "dat" If strFileName "" Then MsgBox "该处不包含所要恢复数据的备份文件" 64 "数据恢复" MousePointer 1 Exit Sub End If Dim nreccount As Long Dim bOK As Boolean 开始一个事务 cnnJLDBBeginTrans Do While strFileName "" If strFileName "dtpropertiesdat" Then bOK False strTableName Left strFileName Len strFileName - 4 先删除该表的数据 sqlname "truncate Table " Trim strTableName cnnJLDBExecute sqlname 然后开始备份 sqlname "select from sysobjects Where type u and name " strTableName "" rsOpen sqlname cnnJLDB adOpenStatic adLockReadOnly If Not rsEOF Then bOK True End If rsClose If bOK True Then MousePointer 11 根据表名确定各个域名及域类型 sqlname "select xtypelengthname from syscolumns where id in select id from sysobjects where name " strTableName " " rsColumnNameOpen sqlname cnnJLDB adOpenStatic adLockReadOnly nreccount 0 If Not rsColumnNameEOF Then rsColumnNameMoveLast nreccount rsColumnNameRecordCount rsColumnNameMoveFirst End If rsColumnNameClose 将指定文件数据恢复到数据库中 sqlname "select from " Trim strTableName rsDataOpen sqlname cnnJLDB adOpenKeyset adLockOptimistic lblShowInfoCaption "正在恢复" strTableName " 表中的数据" lblShowInfoRefresh Open Trim txtpathTextText strFileName For Binary As 1 Dim lRecordNum As Long Dim n As Long Get 1 lRecordNum If lRecordNum 10000 Then MyBar lRecordNum 1 Else MyBar lRecordNum \ 100 End If MyBarValue 0 If lRecordNum 0 Then For n 1 To lRecordNum rsDataAddNew For nStep 0 To nreccount - 1 Get 1 fieldData rsData nStep fieldData Next nStep rsDataUpdate m_iBeginSaveTimer 0 If lRecordNum 10000 Then MyBarValue MyBarValue 1 Else If n Mod 100 1 Then MyBarValue MyBarValue 1 End If End If Next n Close 1 Else Close 1 End If rsDataClose End If End If strFileName Dir Loop lblShowInfoCaption "数据恢复完毕" lblShowInfoRefresh MousePointer 1 cnnJLDBCommitTrans MsgBox "数据恢复完毕" "信息提示" Unload Me Exit Sub ErrorHand cnnJLDBRollbackTrans MousePointer 1 MsgBox "数据恢复失败请联系开发人员" 64 "数据恢复" End Sub Private Sub Command2_Click SaveSetting AppTitle "Settings" "StoreDirection" Trim txtpathTextText Unload Me End Sub Private Sub Command4_Click frmopendirShow 1 txtpathTextText frmopendirstrSelDir End Sub Private Sub Form_Load m_iBeginSaveTimer 0 m_bHaveDone False txtpathTextText GetSetting AppTitle "Settings" "StoreDirection" "d\temp" End Sub Private Sub Form_Unload Cancel As Integer m_iBeginSaveTimer 0 End Sub ?–1 - 0 -
本文档为【毕业论文--vb图书管理系统毕业设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_594905
暂无简介~
格式:doc
大小:100KB
软件:Word
页数:0
分类:工学
上传时间:2017-09-30
浏览量:29