




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录摘要3ABSTRACT3第一章绪论411数据库应用系统开发简介4111数据库4112数据库管理系统4113创建数据库412图书管理系统5第二章图书馆管理系统的总体设计521功能分析5211系统结构5212模块设计6213书籍管理部分6214读者管理部分7215借阅管理部分8216系统管理部分8第三章数据库及开发平台831数据库设计832MICROSOFTACCESS介绍833VISUALBASIC60介绍9第四章图书馆管理系统的具体实现941建立主窗体9411添加菜单9412添加代码942建立添加图书类别窗体9421建立窗体9422添加控件9423添加代码1043建立图书类别管理窗体11431建立窗体11432添加控件12433添加代码1244建立添加图书信息窗体16441建立窗体16442添加控件16443添加代码1645建立图书信息管理窗体19451建立窗体19452添加窗体19453添加代码1946建立查询图书信息窗体23461建立窗体23462添加代码2347建立添加借书信息窗体25471建立窗体25472添加控件25473添加代码2648建立查询借书信息窗体30481建立窗体30482添加控件31483添加代码3149建立添加还书信息窗体32491建立窗体32492添加控件33493添加代码33第五章系统的发布37第六章结论和总结38参考文献39附录39摘要图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立与维护以及前端应用程序的开发两发面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。因此本人结合开入式图书馆的要求,对ACCESS数据库管理系统、VISUALBASIC进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。系统运行结果证明,本文所设计的图书管理系统可以满足借阅者、图书馆工作人员和高级管理员三方面的需求。【关键词】数据库,ACCESS,VISUALBASIC,图书管理ABSTRACTBOOKSMANAGEMENTTHESYSTEMISATYPICALINFORMATIONMANAGEMENTSYSTEMMIS,ITSDEVELOPMENTPRIMARILYINCLUDETHEBACKSTAGETHEDATABASEOFESTABLISHWITHTHEDEVELOPMENTTHATMAINTENANCEANDTHEHEADAPPLYTHEPROCEDURETWOASPECTREQUESTTOESTABLISHTORISETHEDATATHECONSISTENCYWITHTHELIBTHATTHECOMPLETEISSTRONG,DATATHESAFETYLIKEFORTHEFORMERBUTTHENREQUESTTHEAPPLIEDPROCEDURETHEFUNCTIONFORTHELATTERCOMPLETE,EASYUSAGEETCCHARACTERISTICSTHEREFOREONESELFCOMBINATIONOPENINTOTHEREQUESTTHATTYPELIBRARY,NEEDTOWARDSACCESSDATABASEMANAGEMENTSYSTEM,VISUALBASICPROCEEDINDEPTHLYSTUDYWITHAPPLY,PRIMARILYCOMPLETETOBOOKSMANAGESYSTEMANALYSIS,FUNCTIONMOLDTHEPIECEDIVIDETHELINE,DATABASEMODEANALYSIS,COMBINEDTOFROMHEREDESIGNEDTHEDATABASETHECONSTRUCTIONWITHAPPLIEDPROCEDURETHESYSTEMCIRCULATESTOPANOUTTHEPROOF,THISTEXTBOOKSTHATDESIGNMANAGEMENTTHESYSTEMCANSATISFYTOBORROWTHEBOOK,LIBRARYTHEWORKERMANAGETHEWITHHIGHCLASSTHREEASPECTOFDEMAND【KEYPHRASE】DATABASE,ACCESS,VISUALBASIC,BOOKMANAGEMENT第一章绪论11数据库应用系统开发简介在数据库应用系统开发之前,对开发数据库的基本概念应当了解,对数据库的结构、开发数据库应用程序的步骤、开发体系及方法都应当有相当清晰的了解和认识。数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为理解用户的需求,然后,把它们转变为有效的数据库设计。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。数据库技术在计算机软件邻域研究中一直是非常重要的主题,产生于60年代,30多年来数据库技术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统。并且,近年来,随着WORLDWIDEWEBWWW的猛增及INTERNET技术的迅速发展,使得数据库技术之时成为最热门技术之一。111数据库数据库由DBMS(数据库管理系统)处理,DBMS则由开发人员和用户通过应用程序直接或间接地使用。它主要包括四个要素用户数据、元数据、索引和应用元数据。112数据库管理系统数据库管理系统(DBMS)是指数据库系统中管理数据的软件系统。DBMS是数据库系统的核心组成部分。对数据库的一切操作,包括定义、更新及各种控制,都是通过DBMS进行的。DBMS总是基于某种数据模型,可以把DBMS看成是某种数据模型在计算机系统上的具体实现。根据数据模型的不同,DBMS可以分成层次型、网状型、关系型、面向对象型等。113创建数据库数据库模式定义了数据库的结构、表、关系、域和业务规则。数据库模式是一种设计,数据库和应用正是建立在此基础上的。域是一列可能拥有的值的集合。必须为每一个表的每一列确定域。除了数据的物理格式外,还需要确定是否有些域对表来说是唯一的。数据库模式的最后一个要素是业务规则,它是对需要反映在数据库和数据库应用程序中的业务活动的约束。业务规则是模式的一个重要部分,因为他们指定了无论什么数据变化到达DBMS引擎,允许的数据值必须满足的约束。不管无效的数据变化请求是来自窗体的用户、查询/修改请求还是应用程序,DBMS都应该拒绝。12图书管理系统当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。基于这此问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。第二章图书馆管理系统的总体设计21功能分析211系统结构开发本系统的总体任务是实现图书管理的系统化和自动化,帮助图书管理人员更好更高效地完成图书管理工作。本系统要完成的功能有书籍管理部分这一部分包括书籍类别管理和书籍信息管理两部分。其中,书籍类别管理包括添加书籍类别、修改书籍类别等书籍信息管理包括书籍信息的添加,书籍信息的修改、书籍信息的查询、书籍信息的删除等。读者管理部分这一部分包括读者类别管理和读者信息管理两部分。其中,读者类别管理包括添加读者类别、修改读者类别等读者信息管理包括添加读者信息、修改读者信息、删除读者信息、查询读者信息等。借阅管理部分这一部分包括借书信息管理和还书信息管理两部分。其中,借书信息管理包括借书信息的添加、借书信息的修改、借书信息的查询等还书信息管理部分包括还书信息的添加、还书信息的修改、还书信息的查询等系统管理包括修改系统用户密码、增加新用户以及退出系统等。212模块设计根据上面所介绍的主要功能,对这个系统进行分析,得到如图1所示的系统功能模块图。213书籍管理部分书籍管理部分包括书籍信息管理和书籍类别管理,其功能是实现对各部分数据内容的添加、修改、删除等操作。各管理部分的明细如下图1系统功能模块图书籍信息管理包括书籍信息的添加、书籍信息的修改、书籍信息的查询和书籍信息的删除4部分功能。其中,书籍信息包括图书编号、书名、图书类别、作者、出版社、出版日期、登记日期以及是否已被借出。2书籍类别管理包括书籍类别的添加、书籍类别的修改、书籍类别的删除3部分功能。其中,书籍类别包括类别名称和类别编号两部分。214读者管理部分读者管理部分包括读者信息管理和读者类别管理,其功能是实现对各部分数据内容的添加、修改、删除等操作。各管理部分的明细如下1读者信息管理包括读者信息的添加、读者信息的修改、读者信息的查询和读者信息的删除4部分功能。其中,读者信息包括读者姓名、读者编号、性别、读者类别、工作单位、家庭住址、电话号码、登记日期和己借书数量。读者类别管理包括读者类别的添加、读者类别的修改、读者类别的删除3部分功能。其中,读者类别包括种类名称、借书数量、借书期限和有效期限4部分。图书管理系统书籍管理部分读者管理部分借阅管理部分系统管理读者书籍信息管理书籍类别管理读者类别管理读者信息管理还书管理借书管理修改密码增加用户书籍类别添加书籍类别修改添加读者类别添加读者信息查询读者信息查询读者信息删除读者信息修改读者信息添加读者信息借书信息修改借书信息添加还书信息修改还书信息添加还书信息查询借书信息查询书籍信息修改书籍信息查询书籍信息删除书籍信息添加215借阅管理部分借阅管理部分包括借书管理和还书管理,其功能是实现对各部分数据内容的添加和查询操作。各管理部分的明细如下(1)借书管理包括添加借书信息和查询借书信息2部分功能。其中,借阅信息包括借阅编号、读者编号、读者姓名、书籍编号、书籍名称、出借日期和还书日期。2还书管理实现添加还书信息功能。其中,还书信息与借阅信息各部分明细相同。216系统管理部分设置操作人员。系统初始设置一个超级用户名和密码,操作人员可以利用这个超级用户名和密码登录,之后,可以设置其他的超级用户名称,也可以设置权限用户,同时也设置了这个用户可以使用的权限。此外,在系统登录界面中输入密码与用户名不符3次将自动退出登录。第三章数据库及开发平台31数据库设计根据上面分析的系统的各种功能要求,可以很容易想到系统所需的数据库应该按照如下思路设计书籍类别、书籍信息、读者类别、读者信息和图书借阅部分等应该各自作为一个表存在,此外,系统管理员的信息单独使用一个表来记录。本系统服务器端采用WINDOWS2000作为操作系统,同时配置ACCESS数据库服务器,用于数据的存储和处理,客户端采用WINDOWS2000操作系统。前台开发工具采用VISUALBASIC,后台数据库连接是采用ACCESS数据库服务器。(1)MICROSOFTACCESS建立一个数据库我们有多种选择,在本系统中,作为图书馆管理系统的一个比较小的应用系统,它所产生和处理的数据量也比较小。因此,没有必要使用像SQLSERVER和ORACLE这样的大型数据库。MICROSOFTOFFICE中的ACCESS数据库在计算机上的应用比较普及,是开发小型数据库系统的比较理想的选择,所以,在本系统中我选择了ACCESS数据库。与其他数据库系统相比,ACCESS更加简单易学,普通的计算机用户可以很快的掌握它。ACCESS2000的功能十分强大,利用它可以方便地实现对信息保存、维护、查询、统计、打印、交流、发布,而且它可以方便地与OFFICE其他组件交流数据,这些功能对一般用户而言已经足够(2)VISUALBASICMICROSOFTVISUALBASIC是可视化的,面向对象的,由事件驱动的结构化高级程序设计语言它提供了最迅速,最简洁的开发应用程序的方法VISUAL的中文意思是可视的,直观的,看得见的,形象化的这里的VISUAL指直观的开发应用程序界面的方法,只需将系统提供的标准控件手臂放到屏幕窗体上,VISUALBASIC就会自动地生成相应控件的程序代码和其属性数据,而不需要用户去编写大量的界面程序代码BASIC指的是BASIC语言,为BEGINNERALLPURPOSESYMBOLICINSTRUCTIONCODE一词的缩写,意思是初学者通用符号指令代码该语言在发展史上是使用最为广泛的程序合计语言,它易学,易懂,深受广大初学者的欢迎VISUALBASIC在原有BASIC语言的基础上发展成为易学,易掌握的,功能强大的最新程序设计语言第四章图书馆管理系统的具体实现41建立主窗体411添加菜单使用菜单编辑器编辑系统主菜单。412添加代码主窗体中的代码不多,基本上都是实现单击某个菜单选项即弹出相应窗体的语句,这些语句将分别在各个窗体中介绍。单击“系统管理“一“退出系统“菜单,关闭系统代码如下。PRIVATESUBEXIT_SYS_CLICKENDENDSUB42建立添加图书类别窗体421建立窗体添加一个窗体,并按照表所示设置窗体的属性。422添加控件添加图书类别窗体由2个TEXT控件、2个LABEL控件、2个COMMANDBUTTON控件组成。其中,2个LABEL控件作为标识,2个TEXT控件接收用户输入,2个COMMANDBUTTON控件作为“确定“和“取消“按钮。添加这些控件,并按照表所示设置这些控件的属性。423添加代码当单击“图书管理/图书类别管理/添加图书类别“菜单时,弹出如图所示窗体。代码如下。PRIVATESUBADD_BOOK_STYLE_CLICKFRMADDBOOKSTYLESHOWENDSUB当单击“确定“按钮时,首先检查输入的图书类型和种类编号是否为空,代码如下。PRIVATESUBCOMMAND1_CLICKDIMSQLASSTRINGIFTRIMTEXT1TEXT”THENMSGBOX”图书种类不能为空”,VBOKONLYVBEXCLAMATION,”TEXT1SETFOCUSEXITSUBENDIFIFTRIMTEXT2TEXT”THENMSGBOX”种类不能为空”,VBOKONLYVBEXCLAMATION,”TEXT1SETFOCUSEXITSUBENDIF如果不为空,则检查类别名称是否有重复,需要打开图书类别表,先定义一个字符串类型的变量和一个RECORDSET对象变量。PRIVATESUBCOMMAND1_CLICKDIMRS_BOOKSYTLEASNEWADODBRECORDSETDIMSQLASSTRINGIFTRIMTEXT1TEXT”THEN使用RECORDSET对象的OPEN方法打开数据表。PRIVATESUBCOMMAND1_CLICKENDIFSQL”SELECTFROM图书类别WHERE类别名称“EXITSUBENDIFENDSUB当单击“取消“时,则退出此窗体,代码如下。PRIVATESUBCOMMAND2_CLICKUNLOADMEENDSUB以上就是添加图书类别窗体的实现过程。43建立图书类别管理窗体修改、删除类别431建立窗体添加一个窗体,并按照表1所示设置窗体的属性。表1图书类别管理窗体的属性设置窗体属性取值NAMEFRMMODIFYBOOKSTYLECAPTION图书类别管理STARTUPPOSITION2CNETERSCREENMAXBUTTONFALSE432添加控件图书类别管理窗体由1个DATAGRID控件、2个FRAME控件、4个COMMANDBUTTON控件组成。其中,2个FRAME控件作为容器,分别用来放置DATAGRID控件和COMMANDBUTTON控件,4个COMMANDBUTTON控件作为“修改类别“、“删除类别“、“更新“和“取消“按钮。这一部分需要用到DATAGDD控件。用户自行将其添加到控件栏内。方法是单击“工程“一“部件“菜单,在窗体中找到“MICROSOFTDATAGRIDCONTROL60。“选项并在其前面的方框内打勾。添加完后,在控件栏内应该显示DATAGRID的图标。添加这些控件,并按照表2所示设置这些控件的属性。表2控件的属性设置控件属性属性取值FRAME1CAPTION空FRAME2CAPTION空名称CMDMODIFYCOMMAND1CAPTION修改类别名称CMDDELCOMMAND2CAPTION删除类别名称CMDUPDATECOMMAND3CAPTION更新名称CMDCANCELCOMMAND2CAPTION取消DATAGDD控件的属性不需要做任何修改,取默认值即可。433添加代码当单击“图书管理/图书类别管理/修改图书类别“菜单时,弹出如图所示的窗体。代码如下PRIVATESUBMODIFY_BOOK_STYLE_CLICKFRMMODIFYBOOKSTYLESHOWENDSUB当单击“图书管理/图书类别管理/删除图书类别“菜单时,弹出窗体。代码如下。PRIVATESUBDEL_BOOK_STYLE_CLICKFRMMDIFYBOOKSTYLESHOWENDSUB在窗体力加载时,首先打开数据表。在通用变量声明部分定义一个RECORDSET数据对象,代码如下。OPTIONEXPLICITDIMRS_READERASNEWADODBRECORDSET在FORM_LOAD事件中首先打开图书类别数据表,使用RECORDSET对象的OPEN方法,代码如下。PRIVATESUBFORM_LOCKDIMSQLASSTRINGONERRORGOTOLOADERRORSQL”SELECTFROM图书类别”RS_READERCURSOLOCATIONADUSECLIENTRS_READEROPENSQL,CONN,ADOPENKEYSET,ADLOCKPESSIMISTIC打开数据库窗体刚刚加载时,“更新”按钮应设置为不可用,即将其ENABLED书行为FALSEPRIVATESUBFORM_LOADCMDUPDATEENABLEDFALSE设置DATAGRID控件不可更改,即将其ALLOWADDNEW、ALLOWDELETE、ALLOWUPDATE属性设置为FDSE。PRIVATESUBFORM_LOAD设定DATAGRID控件属性DATAGRID1ALLOWADDNEWFALSE不可增加DATAGRID1ALLOWDELETEFALSE不可删除DATAGRID1ALLOWUPDATEFALSE使用DATAGRID控件显示图书类别数据表中的数据信息,只需将该控件的DATASOURCE属性设置为RECORDSET对象即可PRIVATESUBFORM_LOADSETDATAGRID1DATASOURCERS_READERENDSUB添加错误处理部分的语句如下。PRIVATESUBFORM_LOADSETDATAGRID1DATASOURCERS_READEREXITSUBLOADERRORMSGBOXERRDESCRIPTIONENDSUB双击“修改类别“按钮,添加代码以实现这部分的功能。当窗体处于修改类别状态时,该按钮和删除按钮是不可用的,将其ENABLED属性设置为FALSE,更新和取消按钮是可用的,将其ENABLED属性设置位TRUE。PRIVATESUBCMDMODIFY_CLICKDIMANSWERASSTRINGONERRORGOTOCMDMODIFYCMDDELENABLEDFALSECMDMODIFYENABLEDFALSECMDUPDATEENABLEDTRUECMDCANCELENABLEDTRUE当窗体处于修改类别状态时,DATAGRID控件的ALLOWUPDATE属性应该是可用的,将其设置位TRUE。PRIVATESUBCMDMODIFY_CLICKCMDCANCELENABLEDTRUEDATAGRID1ALLOWUPDATETRUECMDMODIFY添加错误处理语句。PRIVATESUBCMDMODIFY_CLICKDIMANSWERASSTRINGONERRORGOTOCMDMODIFYCMDMODIFYIFERRNUMBER0THENMSGBOXERRDESCRIPTIONENDIFENDSUB修改数据后,单击“更新“按钮,则系统将会更新当前的数据。使用UPDATE方法,代码如下。PRIVATESUBCMDUPDATE_CLICKIFNOTISNULLDATAGRID1BOOKMARKTHENRS_READERUPDATEENDIF然后将各个按钮的状态恢复到修改前。PRIVATESUBCMDUPDATE_CLICKCMDMODIFYENABLEDTRUECMDDELENABLEDTRUECMDCANCELENABLEDFALSECMDUPDATEENABLEDFALSEDATAGRID1ALLOWUPDATEFALSEMSGBOX“修改成功“,VBOKONLYVBEXCLAMATION,“ENDSUB修改数据后,如果想放弃修改,则单击“取消“按钮即可。双击“取消“按钮,添加代码以实现这部分功能。将按钮复原,使用CANCELUPDATE方法取消更新,重新显示数据,并将表格控件的A11OWADDNEW和ALLOWUPDATE属性设置为FALSE。PRIVATESUBCMDCANCEL_CLICKRS_READERCANCELUPDATEDATAGRID1REFRESHDATAGRID1ALLOWADDNEWFALSEDATAGRID1ALLOWUPDATEFALSECMDMODIFYENABLEDTRUECMDDELENABLEDTRUECMDCANCELENABLEDFALSECMDUPDATEENABLEDFALSEENDSUB双击“删除类别“按钮,添加代码以实现这部分的功能。首先提示用户是否确定删除,定义一个字符串变量接受用户的回答。PRIVATESUBCMDDEL_CLICKDIMANSWERASSTRINGONERRORGOTODELERRORANSWERMSGBOX“确定要删除吗“,VBYESNO,“如果回答“是”,将当前表格的ALLOWDELETE属性设置为TRUE使用RECORDSET对象的方法将当前的记录删除,使用UPDATE方法将数据表更新PRIVATESUBCMDDEL_CLICKDIMANSWERASSTRINGONERRORGOTODELERRORANSWERMSGBOX“确定要删除吗“,VBYESNO,“IFANSWERVBYESTHENDATAGRID1ALLOWDELETETRUERS_READERDELETERS_READERUPDATE这时数据表发生了变化,应该将DATAGRID刷新以显示这一变化,同时提示用户删除成功,并将ALLOWDELETE属性设置为FALSE。PRIVATESUBCMDDEL_CLICKRS_READERUPDATEDATAGRID1REFRESH如果用户回答“否“,则退出此过程。PRIVATESUBCMDDEL_CLICKELSEEXITSUBENDIF当窗体卸载的时候,将DATAGID控件的DATASOURCE属性设置为NOTHING,同时关闭数据对象。PRIVATESUBFORM_UNLOADCANCELASINTEGERSETDATAGRID1DATASOURCENOTHINGRS_READERCLOSEENDSUB以上就是图书类别管理窗体的实现过程。44建立添加图书信息窗体441建立窗体添加一个窗体。442添加控件添加图书信息窗体由1个FRAME控件、1个COMBOBOX控件、2个COMMANDBUTTON控件、6个TEXT控件和7个LABEL控件组成。其中,7个LABEL控件作为标识,6个TEXT控件和1个COMBOBOX控件用于接收用户输入,2个COMMANDBUTTON控件作为“确定“和“取消“按钮。添加这些控件,并设置这些控件的属性。添加好控件的窗体效果如图所示。443添加代码当单击“图书管理/图书信息管理/添加图书信息“菜单时,弹出如上图所示窗体。设计代码如下。PRIVATESUBADD_BOOK_INFO_CLICKFRMADDBOOKINFOSHOWENDSUB窗体加载时,首先将所有可选的图书类别添加到列表框中。定义一个RECORDSET对象用来打开数据表。PRIVATESUBFORM_LOADDIMRS_LEIBIEASNEWADODBRECORDSETDIMSQLASSTRINGSQL“SELECTFROM图书类别“RS_LEIBIEOPENSQL,CONN,ADOPENKEYSET,ADLOCKPESSIMISTIC使用RECORDSET对象的MOVEFIRST方法将数据记录移动到第一条,并使用循环语句将所有的图书类别添加到列表框中。PRIVATESUBFORM_LOADRS_LEIBIEMOVEFIRSTDOWHILENOTRS_LEIBIEEOFCOMBO1ADDITEMRS_LEIBIEFIELDS0RS_LEIBIEMOVENEXTLOOPRS_LEIBIECLOSEENDSUB当单击“确定“按钮时,首先检查输入的图书类型、图书编号和书名是否为空,代码如下。PRIVATESUBCOMMAND1_CLICKDIMSQLASSTRINGIFTRIMCOMBO1TEXT“THENMSGBOX“请选择图书种类“,VBOKONLYVBEXCLAMATION,“COMBO1SETFOCUSEXITSUBENDIFIFTRIMTEXT1TEXT“THENMSGBOX“图书编号不能为空“,VBOKONLYVBEXCLAMATION,“TEXT1SETFOCUSEXITSUBENDIFIFTRIMTEXT2TEXT“THENMSGBOX“书名不能为空“,VBOKONLYVBEXCLAMATION,“TEXT2SETFOCUSEXITSUBENDIF然后检查输入的日期的格式是否正确,如果不正确则给出提示,代码如下。PRIVATESUBCOMMAND1_CLICKIFNOTISDATETEXT5TEXTTHENMSGBOX“请按照YYYYMMDD格式输入日期“,VBOKONLYVBEXCLAMATION,“TEXT5SETFOCUSEXITSUBENDIFIFNOTISDATETEXT6TEXTTHENMSGBOX“请按照YYYYMMDD格式输入日期“,VBOKONLYVBEXCLAMATION,“TEXT6SETFOCUSEXITSUBENDIF检查图书编号是否有重复,需要打开书籍信息表,先定义一个字符串类型的变量和一个RECORDSET对象变量。PRIVATESUBCOMMAND1_CLICKDIMRS_ADDBOOKASNEWADODBRECORDSETDIMSQLASSTRING使用RECORDSET对象的OPEN方法打开数据表。PRIVATESUBCOMMAND1_CLICKENDIFSQL“SELECTFROM书籍信息WHERE书籍编号“TEXT1TEXT“RS_ADDBOOKOPENSQL,CONN,ADOPENKEYSET,ADLOCKPESSIMISTICIFRS_ADDBOOKEOFTHEN如果没有重复,此时RECORDSET对象的EOF属性应改为TRUE,此时将新的数据添加到数据库,并给出提示代码如下。IFRS_ADDBOOKEOFTHENRS_ADDBOOKADDNEWRS_ADDBOOKFIELDS0TRIMTEXT1TEXTRS_ADDBOOKFIELDS1TRIMTEXT2TEXTRS_ADDBOOKFIELDS2TRIMCOMBO1TEXTRS_ADDBOOKFIELDS3TRIMTEXT3TEXTRS_ADDBOOKFIELDS4TRIMTEXT4TEXTRS_ADDBOOKFIELDS5TRIMTEXT5TEXTRS_ADDBOOKFIELDS6TRIMTEXT6TEXTRS_ADDBOOKFIELDS7“否“RS_ADDBOOKUPDATEMSGBOX“添加书籍信息成功“,VBOKONLY,“RS_ADDBOOKCLOSEELSE如果有重复,则给出提示,然后将焦点设置给TEXT1,并将所有的文本框清空,代码如下。PRIVATESUBCOMMAND1_CLICKELSEMSGBOX“图书编号重复“,VBOKONLYVBEXCLAMATION,“TEXT1SETFOCUSTEXT1TEXT“RS_ADDBOOKCLOSEEXITSUBENDIFENDSUB当单击“取消“时,则退出此窗体,代码如下。PRIVATESUBCOMMAND2_CLICKUNLOADMEENDSUB以上就是添加图书信息窗体的实现过程。45建立图书信息管理窗体451建立窗体452添加控件图书信息管理窗体由1个DATAGDD控件、2个FRAME控件、4个COMMANDBUTTON控件组成。其中,2个FRAME控件作为容器,分别用来放置DATAGRID控件和COMMANDBUTTON控件,4个COMMANDBUTTON控件作为“修改信息“、“删除信息“、“更新“和“取消“按钮。添加这些控件,并设置这些控件的属性。DATAGRID控件的属性不需要做任何修改,取默认值即可。添加好控件的窗体效果如图所示。453添加代码当单击”图书管理/图书信息管理/修改图书信息“菜单时,弹出上图窗体。代码如下。PRIVATESUBMODIFY_BOOK_INFO_CLICKFRMMODIFYBOOKINFOSHOWENDSUB当单击“图书管理/图书信息管理/删除图书信息“菜单时,弹出上面所示窗体代码如下。PRIVATESUBDEL_BOOK_INFO_CLICKFRMMODIFYBOOKINFOSHOWENDSUB在窗体加载时,首先打开数据表。在通用变量声明部分定义一个RECORDSET数据对象,代码如下。OPTIONEXPLICITDIMRS_BOOKASNEWADODBRECORDSET在FORM_LOAD事件中首先打开书藉信息数据表,使用RECORDSET对象的方法,代码如下。PRIVATESUBFORM_LOADDIMSQLASSTRINGONERRORGOTOLOADERRORSQL“SELECTFROM书籍信息“RS_BOOKCURSORLOCATIONADUSECLIENTRS_BOOKOPENSQL,CONN,ADOPENKEYSET,ADLOCKPESSIMISTIC打开数据库窗体刚刚加载时,“更新”按钮应设置为不可用,即将其行为FALSEPRIVATESUBFORM_LOADCMDUPDATEENABLEDFALSE设置DATAGRID控件不可更改,即将其ALLOWADDNEW、ALLOWDELETE、ALLOWUPDATE属性设置为FALSE。PRIVATESUBFORM_LOAD设定DATAGRID控件属性DATAGRID1ALLOWADDNEWFALSE不可增加DATAGRID1ALLOWDELETEFALSE不可删除DATAGRID1ALLOWUPDATEFALSE使用DATAGRID控件显示书藉信息数据表中的数据信息,只需将该控件的DATASOURCE属性设置为RECORDSET对象即可。PRIVATESUBFORM_LOADSETDATAGRID1DATASOURCERS_BOOKENDSUB添加错误处理部分的语句如下。PRIVATESUBFORM_LOADSETDATAGRID1DATASOURCERS_BOOKEXITSUBLOADERRORMSGBOXERRDESCRIPTIONENDSUB双击“修改信息“按钮,添加代码以实现这部分的功能。当窗体处于修改信息状态时,该按钮和删除按钮是不可用的,将其ENABLED属性设置为FALSE,更新和取消按钮是可用的,将其ENABLED寓性设置位TRUE。PRIVATESUBCMDMODIFY_CLICKDIMANSWERASSTRINGONERRORGOTOCMDMODIFYCMDDELENABLEDFALSECMDMODIFYENABLEDFALSECMDUPDATEENABLEDTRUECMDCANCELENABLEDTRUE当窗体处于修改信息状态时,DATAGRID控件的A1IOWUPDATE属性应该是可用的,将其设置位TRUE。PRIVATESUBCMDMODIFY_CLICKCMDCANCELENABLEDTRUEDATAGRID1ALLOWUPDATETRUECMDMODIFY添加错误处理语句。PRIVATESUBCMDMODIFY_CLICKDIMANSWERASSTRINGONERRORGOTOCMDMODIFYCMDMODIFYIFERRNUMBER0THENMSGBOXERRDESCRIPTIONENDIFENDSUB修改数据后,单击“更新“按钮,则系统将会更新当前的数据。使用UPDATE方法,代码如下。PRIVATESUBCMDUPDATE_CLICKIFNOTISNULLDATAGRID1BOOKMARKTHENRS_BOOKUPDATEENDIF然后将各个按钮的状态恢复到修改前。PRIVATESUBCMDUPDATE_CLICKCMDMODIFYENABLEDTRUECMDDELENABLEDTRUECMDCANCELENABLEDFALSECMDUPDATEENABLEDFALSEDATAGRID1ALLOWUPDATEFALSEMSGBOX“修改成功“,VBOKONLYVBEXCLAMATION,“ENDSUB修改数据后,如果想放弃修改,则单击“取消“按钮即可。双击“取消“按钮,添加代码以实现这部分功能。将按钮复原,使用CANCELUPDATE方法取消更新,重新显示数据,并将表格控件的ALLOWADDNEW和ALLOWUPDATE属性设置为FALSE。PRIVATESUBCMDCANCEL_CLICKRS_BOOKCANCELUPDATEDATAGRID1REFRESHDATAGRID1ALLOWADDNEWFALSEDATAGRID1ALLOWUPDATEFALSECMDMODIFYENABLEDTRUECMDDELENABLEDTRUECMDCANCELENABLEDFALSECMDUPDATEENABLEDFALSEENDSUB双击“删除信息“按钮,添加代码以实现这部分的功能。首先提示用户是否确定删除,定义一个字符串变量接受用户的回答。PRIVATESUBCMDDEL_CLICKDIMANSWERASSTRINGONERRORGOTODELERRORANSWERMSGBOX“确定要删除吗“,VBYESNO,“如果回答“是“,则将当前表格的ALLOWDELETE属性设置为TRUE。使用RECORDSET对象的DELETE方法将当前的记录删除,使用UPDATE方法将数据表更新。PRIVATESUBCMDDEL_CLICKDIMANSWERASSTRINGONERRORGOTODELERRORANSWERMSGBOX“确定要删除吗“,VBYESNO,“IFANSWERVBYESTHENDATAGRID1ALLOWDELETETRUERS_BOOKDELETERS_BOOKUPDATE这时数据表发生了变化,应该将DATAGRID刷新以显示这一变化,同时提示用户删除成功,并将ALLOWDELETE属性设置为FALSE。PRIVATESUBCMDDEL_CLICKRS_BOOKUPDATEDATAGRID1REFRESH如果用户回答“否“,则退出此过程。PRIVATESUBCMDDEL_CLICKELSEEXITSUBENDIF当窗体卸载的时候,将DAMGDD控件的DATASOURCE属性设置为NOTHING,同时关闭数据对象。PRIVATESUBFORM_UNLOADCANCELASINTEGERSETDATAGRID1DATASOURCENOTHINGRS_BOOKCLOSEENDSUB以上就是图书信息管理窗体的实现过程。46建立查询图书信息窗体461建立窗体添加一个窗体及控件,查询图书信息管理窗体由1个DATAGDD控件、5个CHECKBOX控件、1个COMBOBOX控件、4个TEXT控件、3个COMMANDBUTTON控件组成。其中,3个COMMANDBUTTON控件作为“查询“、“取消“和“借这本书“按钮,复选框用来确定查询的方式。DATAGRID控件的属性不需要做任何修改,取默认值即可。添加好控件的窗体效果如图所示。462添加代码当单击“图书管理/图书信息管理/查询图书信息“菜单时,弹出如上窗体。代码如下。PRIVATESUBFIND_BOOK_INFO_CLICKFRMFINDBOOKSHOWENDSUB窗体加载时,首先将所有可选的图书类别添加到列表框中。定义一个RECORDSET对象用来打开数据表。PRIVATESUBFORM_LOADDIMRS_FINDASNEWADODBRECORDSETDIMSQLASSTRINGSQL“SELECTFROM图书类别“RS_FINDOPENSQL,CONN,ADOPENKEYSET,ADLOCKPESSIMISTIC使用RECORDSET对象的MOVEFIRST方法将数据记录移动到第一条,并使用循环语句将所有的图书类别添加到列表框中。PRIVATESUBFORM_LOADRS_FINDMOVEFIRSTIFNOTRS_FINDEOFTHENDOWHILENOTRS_FINDEOFCOMBO1ADDITEMRS_FINDFIELDS0RS_FINDMOVENEXTLOOPCOMBO1LISTINDEX0ENDIFRS_FINDCLOSEENDSUB当单击“确定“按钮时,执行查询语句。逐个检查各个复选框是否被选中,如果被选中,则设定SQL语句,使用WHERE限制数据检索的条件,代码如下。PRIVATESUBCOMMAND1_CLICKDIMRS_FINDBOOKASNEWADODBRECORDSETDIMSQLASSTRINGIFCHECK1VALUEVBCHECKEDTHENSQL“书名“TRIMTEXT1TEXT“ENDIFIFCHECK2VALUEVBCHECKEDTHENIFTRIMSQL“THENSQL“类别“TRIMCOMBO1TEXT“ELSESQLSQL“AND书名“TRIMCOMBO1TEXT“ENDIFENDIFIFCHECK3VALUEVBCHECKEDTHENIFTRIMSQL“THENSQL“作者“TRIMTEXT2TEXT“ELSESQLSQL“AND作者“TRIMTEXT2TEXT“ENDIFENDIFIFCHECK4VALUEVBCHECKEDTHENIFTRIMSQL“THENSQL“出版社“TRIMTEXT3TEXT“ELSESQLSQL“AND出版社“TRIMTEXT3TEXT“ENDIFENDIF如果没有选择任何查询方式,则此时的SQL变量应该为空,则给出提示,要求选择查询方式。PRIVATESUBCOMMAND1_CLICKENDIFIFTRIMSQL“THENMSGBOX“请选择查询方式“,VBOKONLYVBEXCLAMATIONEXITSUBENDIF执行查询语句,将DATAGRID设置为不可更新或删除信息,同时将其DATASOURCE属性设置位RECORDSET对象,代码如下。PRIVATESUBCOMMAND1_CLICKENDIFSQL“SELECTFROM书籍信息WHERE“SQLRS_FINDBOOKCURSORLOCATIONADUSECLIENTRS_FINDBOOKOPENSQL,CONN,ADOPENKEYSET,ADLOCKPESSIMISTICDATAGRID1ALLOWADDNEWFALSEDATAGRID1ALLOWDELETEFALSEDATAGRID1ALLOWUPDATEFALSESETDATAGRID1DATASOURCERS_FINDBOOKENDSUB当单击“取消“时,则退出此窗体,代码如下。PRIVATESUBCOMMAND2_CLICKUNLOADMEENDSUB选择需要借阅的图书,单击“借这本书“按钮,可打开借书窗体,将在借书窗体的建立章节中加以介绍。以上就是查询图书信息窗体的实现过程。47建立添加借书信息窗体471建立窗体添加一个窗体。472添加控件添加借书信息窗体由2个FRAME控件、16个LABEL控件、2个COMBOBOX控件、2个COMMANDBUTTON控件组成。其中,2个COMMANDBUTTON控件作为“确定“和“取消“按钮。添加这些控件。控件属性属性取值LABEL1CAPTION编号LABEL2CAPTION书名LABEL3CAPTION作者LABEL4CAPTION出版日期LABEL5CAPTION类别LABEL6CAPTION出版社LABEL7CAPTION登记日期LABEL15CAPTION读者编号LABEL16CAPTION读者姓名COMMAND1CAPTION确定COMMAND2CAPTION取消COMBO1TEXT选择编号COMBO2TEXT选择姓名其中,LABEL8LABEL14取默认值即可。添加好控件的窗体效果如下图所示。借书窗体473添加代码前面介绍到,在查询图书信息窗体中有个“借这本书“的按钮,当选择好要借的图书后,单击这个按钮,即可打开这个窗体。下面双击这个按钮,实现其功能。首先添加一个公共模块,并在其中定义一个公共的变量BOOK_NUM用来记录要借的图书的编号OPTIONEXPLICITPUBLICBOOK_NUMASSTRING要借的书的编号添加公共模块的方法是单击菜单“工程“一“添加模块“,在打开的窗体中单击“打开“按钮,即可添加好一个公共模块。如果用户选择了某条书籍的信息,则将这本书的编号赋给这个变量。获取表格某一单元格的方法是使用指定列的CELLVALUE属性。该属性的参数是一个书签BOOBNMARK。双击表格控件,在ROWEDCHANGE事件中添加如下的代码。PRIVATESUBDATAGRID1_ROWCOLCHANGELASTROWASVARIANT,BYVALL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 细胞的生物膜系统
- 南方能源产品讲解
- 网络入侵检测技术
- 如何控制微生物污染药品
- 宪法日宣誓活动实施方案大纲
- 述职汇报用好还是用
- 手术病人护理常规
- 区域活动指导讲座实务要点
- 医院空气净化管理标准解析
- 体育锻炼心率讲解
- 2025室内设计私人定制合同全面详细版
- 与欧美网红合作合同范本
- 母猪的分娩和护理技术
- 冷库维保合同(2025版)
- 2025年北京市三力考试试题及答案
- 2025年智能家居软装搭配智能家居行业市场前景展望报告
- 2025年双鸭山宝清县融媒体中心招聘考试笔试试题(含答案)
- 2025年北京市人力资源市场薪酬数据报告(二季度)
- 广告牌安装后维护养护措施
- 山西煤矿建设管理办法
- 高职院校实训室管理办法
评论
0/150
提交评论