用VB编写一个简单的图书管理系统_第1页
用VB编写一个简单的图书管理系统_第2页
用VB编写一个简单的图书管理系统_第3页
用VB编写一个简单的图书管理系统_第4页
用VB编写一个简单的图书管理系统_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、用vb编写一个简单的图书管理系统sri 2011009(学号)石二辽(姓名)指导教师徐哲鑫【摘要】笔者采用visual basic 6.0为开发工具,设计一款具备友好的图形用户界面、简便操作的图书管理系 统。充分利用计算机功能实现读者管理、书籍管理、借还书籍管理等信息的自动化控制,将使图书管理员从繁杂、重复 的劳作中解放出来。【关键词】图书;面向对象;软件工程1概述1.1开发背景用计算机管理陈|5馆里一切信息是一种计算机应用技术的创新,在计算机还未普及之前图管理都 是由图书管理人员手工记帐的方式來操作的.现在一般的图书馆都足采川计算机作为工具,使川实川的 罔书管理程序来帮助罔|5馆管理员进行更

2、冇效的图|5管理。1.2图书管理系统产生的背景图书管玴系统是典型的信息管理系统,m:开发主要包括后台数据库的建立和维护以及前端极用程序 的开发两个方面。对于台数据库的建立和维护要求建立起数据一致性和完整性强、数裾安全性好的库。 而对于前端应用程序则耍求应用程序具备功能完备、友好的阁形用户界而、便捷使用等特点1。1.3系统功能要求的分析开发木系统的总体任务是实现图15管理系统的系统化和im动化,帮助图15管理鉍吏好更高效地完成 图书管理工作,本系统要完成的功能主要有:15籍管理部分:图|5类别管理和罔信息管理。其中,15籍类别管理包括添加ji籍类别、修改|5籍 类别、删除书籍类别等;书籍信息管理

3、包括书籍信息的添加、修改、杏询、删除等。读者管理部分:读者类别管理和读者信息管理,读者类别管理包括读者类别添加、修改、删除等; 读者信息包括读荞添加读#信息、修改读者信息、杳询读者信息、删除读者信息等。借阅管理部分:借15信息管理和还15信息管理,借15信息管理、还信息管理均包括其信息的添加、 修改、杏询等。系统管理部分:添加管理员,修改密码,退出系统。2开发环境及实现技术介绍2.1开发软件介绍由于我的工作单位是一所中心小学,有大虽的|5籍,读者冇学生、老师,于是木人想设计一款实用 的阁书管理系统,方便学校阁书管理员工作,增强阁书借阅力度,良好地管理书籍及其借阅信怠。2. 2模块设计2书籍管理

4、部分实现对书籍类别、书籍信息的添加、修改、删除等操作。读者管理部分实现对读者类别、读荞信总的添加、修改、删除等操作。借阅管理部分实现对借书信息、还书信总的添加、修改、查询等操作。系统管理部分实现超级用p对普通用p的用p名和密码对注册、修改等操作。2. 3程序预览运行木系统程序,首先出现登录界面(图2),输入正确用户名及密码后进入主窗体(图3),主 窗体上的主菜单栏有:书籍管理、读者管理、借阅管理、系统设置及帮助。*登录图书官理系统 srl2011009pn|px用户名:石马:|取消 |登录图书管理系统 sr!201 1009福建菜大学软件工程毕石二江书緖管理读者管理借阅管理系统设罝帮助(h )

5、2.3. 1书籍管理功能“ |5籍管理”菜单f有两个一级菜单:“ |5籍信息管理”和“ |5籍类别管理”。具体操作如下:1. “书籍类别管理”下有三个子菜单:“新增”、“修改”、“删除”。单击“新增”菜单,打开“新垴15籍类別”窗体(图4)。单击“修改”或“删除”,都会打开“15籍类别信息管理”窗体(?!5) o图4图52. “书籍信息管理”下有叫个子菜单:“新增图书”、“修改书籍信息”、“删除书籍信息”、“査询书籍信息”。单击“新增图书”菜单,打开“新增书籍”窗体(阁6)。单击“修改”或“删除”, 都会打开“书籍信息管理”窗体(图7)。单击“査询书籍信息”菜单,打开“査询图书”窗体(图8)图

6、6图7图82. 3. 2读者管理功能“读者管理”菜单下有两个一级菜单:“读者类别管理”和“读者信息管理”。1. “读者类别管理”下冇3个子菜单:“添加读者类别”、“修改读者类别”、“删除读者类别”。单击“添加读者类别”菜单,打开“添加读者类别”窗体(图9);单击“修改读者类别”和“删除读 者类别”菜单,都会打开“读者类别管理”窗体(图10)。-添加財期i srl201i009b叵因质定馳* 瀵«天爛它1 $rl?oiiow阁9阁102. “读者信息管理”菜单下有4个子菜单:“添加读者信息”、“修改读者信息”、“删除渎者 信息”和“查询读者信息”。单击“添加读者信息”菜单,打开“添加读

7、者信息”窗体(图11),单 击“修改读者信息”和“删除读者倌息”菜雄,都会打开“读者信息管理”窗体(阁12),单击“查 询读者信息”菜单,打开“查询读者信息”窗体(图13)。图11ttllftm曲 i 鶼 i * ir厂r mt»1釗紗陶钥««1 1b=图12图132.3.3图书借阅管理功能“借阅管理”菜单下有2个一级菜单:“借书管理”和“还书管理”。1. “借书管理”菜单下有2个子菜单:“添加借书信息”和“查询借书信息”。单击“添加借书 信息”先打开的是“查询閔15”窗体(罔8),找到需要借阅的閔单击“借这木书按钮”,打开 “借书”窗体(图14);单击“查询借书

8、信息”菜卑,打开“查询借书信息”窗体(图15)。* ffr» scl2oiiom«nt 埃号r 书名r 作者r 出刖期类别r 出我社r毅日疟今mmt颺w厂3-««餓|号 §者姓名r於破图14图152.单击“还|5管理”,打开“还|5”窗体(阁16)。罔162. 3. 4系统管理功能“系统管理”菜单下有3个子菜单,分别是“添加管理员”、“修改密钔”和“返!li系统”。单击 “添加管理员”子菜单,打开“添加管理员”窗体(图17),单击“修改密钥”子菜单,打开“修改 密码”窗体(图18),单击“退岀系统”,备份数据并退ill本系统。*添加它理员srl

9、2011009回®阁17畈修改密码 srl2011009阁182. 3. 5帮助菜单单击“帮助”菜单,打开系统信息窗体(图1),点击系统信息窗体任何一处,关闭该信息窗体, 返回主窗体。学号 sr12011009指导老师徐哲1福建师范大学书管理系统s开发工具vb6. 0 版本1.0.0版权归石二辽所有警吿未经我公司批准,任何人不得以商业为目的、销售本系统.2.4数据库设计数椐库名为sj. mdb,在库中设计六张表,它们分别为dzlb(读者类别表)、dzxx(读者信息表)、 jyxx(借阅信息表)、sjxx(书籍信息表)、sjlb(书籍类别表)、sys(系统管理表)。sj :数据库(ac

10、cess 2002 - 2003文件格式)同冈離表珣体表 块查窗报页宏根jsjrlnjrljlll使用设计器创建表使用向导创建表通过输入数据创建表dzlbdzxxjyxxsjlbsjxxsys打开(q) g设计新建x | - 岡露组收藏夹2.4.1读者类别表,表名为dzlb,字段名称有渎者类別名称、读者借书数量、借书期限及有限期限,设置“读 者类别名称”为主键,是必填字段,不允许空值。sj :数据库(access 2002 - 200hi dzlb :衷字段名称数据类型读若类别名称义本读者借书数量数字借书期限数字有限期限数字2. 4. 2读者信息表:设置“读者编号”为主键,“读者编号”、“读者

11、姓名”为必填字段,不允许空值。isj :数根库(access 2002 - 2003 文件格式)苗dzxx :表字段名称数据类型读者编号i文本读者姓名文本性别文本读者类别文本工作单位文本家庭地址文本联系方式文本登记日期日期/时间已借书数理数字2.4.3借阅信息表:为必填字段,不允许空伉。sj :数据库(access 2002 - 2003文件格式)酗jyxx :表字段名称数据类型借阅编号1自动编号读者编号文本读者姓名文本书籍编号文本书籍名称借出日期日期/时间还书日期日期/时间2. 4. 4书籍信息表:设置“阁|5编号”为主键,“阁|5编号”、“15籍名称isj :数据库(access 2002

12、 - 2003 文件格式)tosjxx :表字段名称数据类型囝书编号文本书籍名称文本类别文本作者文本出版社文本出版日期日期/时间登记日期日期/时间是否被借出-12. 4. 5图书类别表:数据库(access 2002 - 2003 文件格式)涯sjlb :表字段名称!数据类型1类别编号1文本i类别名称文本2.4.6系统管理表:dp sj :数据库(access 2002 - 2003 文件格式)囲sys :表字段名称数据类型uname文本uid文本bz文本2.4.7数据库连接方式选择visual basic6.0连接数据库的主耍方式有以下几种方式:一是用data控件进行数据库链接,二是 利用a

13、dodc (ado data control)进行数据库链接。三是:利用dataenvironment进行数据库链接,四 是利用 ado (activex data objects)进行编程。利用dao对数据库进行操纵3:在visual basic中提供丫两种与jet数扼引攀接口的方法:data校件与数扼访问对象(dao)dao是 database object的英文缩写,要访问数裾库一方而数裾库要提供访问接口,另一方而要在编程环境中有 对数据库的支持.dao模型是设计关系数据库系统结构的对象类的集合.他们提供了管理关系型数据库系统所需要 的全部操作属忡和方法,这其中包括建立数裾库,定义表,字

14、段和建立表间关系,定位和查询数裾库等.关系数裾库介绍'关系数据库足s前各类数据库屮最重要、最流行的数据库,他应川数7方法来处理数据库数据,足 0前使川最广泛的数据库系统。20世纪70年代以后开发的数据库管理系统产品儿乎都是基于关系的。 在数据库发展的历史上,最重要的成就就是关系校型。关系数裾库系统与非关系数裾库系统的区别是:关系系统只有“表“这一种数裾结构;而非关系数 据库系统还有其他数据结构,对这些数据结构侖其他的操作。结构化查洵语言sql (structured query language)是一种介于关系代数与关系演算之间的语言, 其功能包拈查询、操纵、定义和控制四个方面,是一个

15、通川的、功能极强的关系数据库语言。r前己成 为关系数据库的标准语言。microsoft access 介绍:使川microsoft access,可以在单一的数据库文件中管理所有的信息。在这个文件中,用户可以 将自己的数裾分别保存在各自独立的存储空间中,这些空间称作表;吋以使用联机窗体來查看、添加及 更新表中的数据;使用查询来查找并检索所要的数据;也可以使用报表以特定的版而介置來分析及打印 数裾。如果要保存数裾,请为每一种类型的信息创建一个表。如果要从查洵、脔体或报表中的多个表中将 数据合并在一起,就要定义各个表之间的关系。如果要搜索并检索符合指定条件的数裾,乜括来自多个表中的数裾,就要创建查

16、询。査询的同时也 可以更新或删除多条记录,并对数裾执行a嵌或自定义的计算。如果要简单地直接在某个表中查看、输入及更改数据,请创建一个脔体。在打开一个窗体吋, microsoft access将从一个或多个丧中检索数扼,并使川用户在“窗体向导”选择的版而布局或所创 建的版而布局,将窗体显示在屏幕上。如果要分析数裾或将数椐以特定的方式打印出来,请创建一个报表。例如,可以打印一份将数据分 组并计算数据总和的报表,也可以打印另一份带柯各种数据格式的打印邮件标签的报表。2. 5系统代码52.5. 1主界面代码:2.5. 1.1添加管理员菜单private sub addadmin click()adda

17、dminf. showend sub2.5. 1.2添加读者类别菜单private sub adddzlb_click()adddzlbf. showend sub2.5. 1.3添加读者信息菜单 private sub adddzxxf_click() adddzxxf. showend sub2. 5. 1.4添加还书信息菜单 private sub addhs_click() hsf. showend sub2.5. 1.5添加借书信息菜单 private sub addjs_click() jsf. showend sub2. 5. 1.6添加图书类别菜单 private sub ad

18、dlb_click() addtslb. showend sub2.5. 1.7查询读者信息菜单private sub cxdzxx clicko cxdzxxf. show end sub2. 5. 1.8查询借15信息菜单 private sub cxjs clicko cxjsxxf. show end sub2.5. 1.9查询|5籍信息菜单 private sub cxsj_click() cxsjf.showend sub2. 5. 1.10删除读者类别菜单 private sub deldzlb_click() dzlbxxf. showend sub2. 5. 1.11删除读者

19、信息菜单 private sub deldzxx_click() dzxxglf. showend sub2. 5. 1.12删除书籍类别菜单 private sub dellb_click() sjlbxxf. showend sub2. 5. 1.13帮助菜单 private sub hlcp_click() frmsplash. show end sub2.5. 1. 14返出系统菜单 private sub unload_click() endend sub2. 5.1. 15修改读者类别菜单 private sub xgdzlb_click() dz 1 bxxf. showend

20、sub2. 5.1. 16修改读者信息菜单 private sub xgdzxx_click() dzxxglf. showend sub2.5. 1. 17修改书籍类别菜单 private sub xglb_click() sjlbxxf. show end sub2.5. 1. 18修改用广密码菜单 private sub xgmmclick() xgmmf. showend sub2.5. 1. 19修改书籍信息菜单private sub xgts clickosjxxf.showend sub2.5. 1.20新增图书信息菜单private sub xzts clickoaddtsf.

21、 showend sub2. 5. 2添加图书类别添加图书类别代码:private sub command1 click()dim sql as stringdim rs_add as new adodb. recordsetsql = "select * from sjlb where 类别名称= & text 1. text &rs add. open sql, sjk, adopenkeyset, adkockpessimistictf trim (text 1. text) = thenmsgbox 网书类别不能为空,vbokonly + vbexclamat

22、ion, 注意 text 1.seteocus exit sub end tfif trim(text2. text) = thenmsgbox 网 i1;编号不能为空,vbokonly + vbexclamation, 注意 text2. setfocus exit subend tfif rs_add. eof = true then rs_add. addnewrs_add. fields(0) = trim(text2. text) rs_add. fields (1) = trim (text i. text) rs_add. updatemsgbox 成功地添加 & tex

23、t 1. text &,z这一图书类别,vbokonly, 恭喜" rs_add. closeelsemsgbox "& textl. text & 这一图书类别已存在",vbokonly + vbexclamation, 图书 类别不能重复"rs_add. close end iftext 1. setfocus text 1. text = /,z text2. text =end subprivate sub command2 clicko unload me end sub2. 5. 3修改图书类别:修改阁书类别代码:op

24、tion explicitdim myjl as new adodb. recordset private sub form_load()dim sql as stringon error goto loaderrorsql = select * from sjlb myjl cursorlocation = aduscclicntmyjl. open sql, sjk, adopcnkeyset, adlockpessimisticcmdcancel. enabled = falsecmdupdate. enabled = falsedg.allowaddnew = falsedg. all

25、owdelete = falsedg.a1lowupdate 二 falseset dg. datasource = myjlexit subloaderror:msgbox err. descriptionend subprivate sub cmdadd一click。dg.allowaddnew = truedg. a1lowupdate 二 truecmdadcl enabled = falsecmdupdate. enabled = trueend subprivate sub cmdadd mousemove(button as integer, shift as integer,

26、x as single, y as single) cmdadd. caption = 点击此处也n以添加cmdadd. width = 3000end subprivate sub cmdcancel_c1ick()myjk cancel updatedg.refreshdg. allowaddnew = falsedg. a1lowupdate = falsecmdxg. enabled = truecmddel. enabled = truecmdcancel. enabled = falsecmdupdate. enabled = falseend subprivate sub cmd

27、del_click()dim sri as stringon error goto del errorsri = msgbox (确定要删除吗? ,vbyesno)if sri = vbyes thendg.allowdelete = truemyjl.deletemyjl.updatedg. refreshelseexit subend ifdel error:msgbox err. descriptionend subprivate sub cmdupdate click()if not isnull(dg. bookmark) thenmyjl updatecmddel. enabled

28、 = truecmdxg. enabled = truecmdcancel. enabled = falsecmdupdate. enabled = falsedg.allowupdate = falsemsgbox 修改成功,vbokonly + vbexclamation,"恭喜成功" end ifcmdadd. width = 1550cmdadd. caption ="高级"cmdadd. enabled = trueend subprivate sub cmdxg_click()dim sri as stringon error goto xg

29、cmddel. enabled 二 falsecmdxg. enabled = falsecmdupdate. enabled = truecmdcancel. enabled = truedg.a1lowupdate = truexg:if err. number <> 0 thenmsgbox err. descriptionend ifend subprivate sub i?ormjjnload (cancel as integer)set dg. datasource = nothingmyjl. closeend sub2. 5. 4添加读者类别界面:private s

30、ub commandl_click()dim sri as stringdim mybook as new adodb. recordsettf trim(text 1. text) = thenmsgbox 读者类别名称不能为空,vbokonly + vbexclamation, 注意 text 1. seteocus exit sub end ifif trim(text2. text) = thenmsgbox 借书数量不能为空,vbokonly + vbexclamation, 注意 text2. setfocus exit sub end tfif trim(text3. text)

31、 = thenmsgbox 借书期限不能为空,vbokonly + vbexclamation, 注意 text3. setfocus exit sub end ifif trim(toxt4. text) = thenmsgbox 有效期限不能力空,vbokonly + vbexclamation, 注意"text4.seteocusexit subend ifon error goto cwsri = "select * from dzlb where 读者类别名称=& textl. text &mybook. open sri, sjk, adopen

32、keyset, adkockpessimisticif mybook. eof thenmybook. addnewmybook. fields(0) = trim(textl. text)mybook. fields(1) = trim(text2. text)mybook. fields (2) = trim(text3. text)mybook. fields(3) = trim(text4. text)mybook. updatemsgbox您己经成功添加 & textl. text & "这一读者类别,vbokonly + vbexclamation,&qu

33、ot;添加成功!mybook. closeelsemsgbox "读者类别名称为 & textl. text &重复",vbokonly + vbexclamation,"注意重复"textl.setfocus textl.text = ”mybook. close exit sub end if cw:msgbox err. descriptionend subprivate sub command2_click()unload meend subprivate sub formload()dim sql as string 定义一个字

34、符串变dim myjl as new adodb. recordset 定义一个 recordset 对象变量 end sub2. 5. 5査询读者信息代码:private sub form_load()dim sql as string 定义一个字符串变景dim myjl as new adodb. recordset 定义一个 recordset 对象变量 sql = "select * from dzlb"myjl. open sql, sjk, adopenkcyset, adlockpessiinisticdo while not myjl. eofcombo1.

35、 addttem myjl fields(0)myjl. movenext loopcombol. listlndex = 0myjl.closeend subprivate sub commandi_click()dim sri as string 定义一个字符串变景dim mybook as new adodb. recordset 定义个 recordset 对象变景if checkl. value = vbchecked thensri ="读者编号="& trim(textl.text &end ifif check2.value = vbchec

36、ked then if trim(sri) = " thensri = 读者姓名= & trini(text2. text &)&"elsesri = sri & "and 读者编号="& trim(text2. text"end tfend iftf check3.value = vbchecked then tf trim (sri) = thensri ="读者类别= & trim (combo 1. text & ,/z,) &elsesri = sri &

37、; "and 读者类别= & trim (combo 1. text &,/z) &end tfend iftf sri = thenmsgbox 请选择一种查询依掘,vbokonly + vbexclamation, 查询方式 exit sub end ifsri = "select * from dzxx where & srimybook.cursorlocation = aduseclientmybook.open sr 1, sjk, adopcnkeyset, adlockpessimisticdg. allowaddnew =

38、falsedg. a1lowdelete = falsedg. allowupdate = falseset dg. datasource = mybookend subprivate sub command2_click() unload me end sub2. 5.6图书借阅管理模块代码:2. 5. 6. 1查询书籍窗体代码private sub form_load()窗体加载时就书籍类别加载到列表框中。 dim sql as string 定义一个字符芈变量dim myjl as new adodb. recordset 定义一个 recordset 对象变量 sql = "

39、select * from sjlb"myjl. open sql, sjk, adopenkcyset, adlockpessiinisticdo while not myjl. eofcombo1. addttem myjl fields(1)myjl. movenext loopcombo1. listtndex = 0myjl.closeend subprivate sub commandl_click() 査询命令按钮代码dim sri as string 定义一个字符串变mdim mybook as new adodb. recordset 定义个 recordset 对

40、象变景if checkl. value = vbchecked thensri ="书籍名称="& trim(textl.text & "0 &end iftf check2.value = vbchecked then if trim(sri) = thensri ="图书编号="& trim(text2.text & ")& ""elsesri = sri & "and 图书;编号= & trim(text2. text & &q

41、uot;)& end ifend iftf check3.value = vbchecked then tf trim (sri) = thensri = 作者= & trim(text3.text & ")& "'"elsesri = sri & and 作者= & trim(text3. text &")&"" end tfend tfi f check4. value = vbchecked then tf trim(sri) = thensri =&quo

42、t;出版社= & trim(text4.text & )& ""elsesri = sri & and 出版社= & trim(text4. text &end tfend tff check5. value = vbchecked then tf trim(sri) = thensri ="类别=,& trim(combol.text & 0 & elsesri = sri & "and 类别="& trim(combol. text &"

43、;)&""end tfend ifif sri = thenmsgbox 请选择一种査询依拋,vbokonly + vbexclamation, 杏询方式 exit sub end ifsri = "select * from sjxx where & srimybook. cursorlocation = aduseclientmybook. open sri, sjk, adopenkeyset, adkockpessimi sticdg. allowaddnew = falsedg. allowdelete = falsedg. a1lowu

44、pdate = falseset dg. datasource = mybookend sub为了获取表格某一单元格值,为datagrid控件dg添加如卜*代码:private sub dg_rowcolchange(lastrow as variant, byval lastcol as integer)on error goto cwpand = dg. columns(7). cel 1 value(dg. bookmark)bookunm = dg. columns (0). cellvalue(dg. bookmark) pand 和 bookunm 是公共梭块屮定义的一个公共 变量

45、,bookunm用來记录表格中某一书籍的图书编号,使于在借书窗体中再次凋用。exit subcw:msgbox err. descriptionend subprivate sub command2_click() unload me end subprivate sub command3_cl ick() 这是“借这本书”命令按钮,如果条件满足,就进入借书窗体了。 tf trim (bookunm) = ' thenmsgbox 请选择要借阅的书籍,vbokonly + vbexclamation, 选择书籍exit sub end ifif trim (pand)= 是 thenm

46、sgbox 此|5已经被借出,请选择其它书!籍",vbokonly + vbexclamation, 选择|5籍exit sub end if unload me jsf. show end sub 2. 5. 6. 2借书窗体代码option explicitdim lb as string 该读者类别dim qx as string 该读者可借书的期限dim yjsl as string 该读者已借书的数景dim maxm as string该读者借|5量的限制由在杳询书籍的窗体满足了可以借书的条件进入此借书窗体,根裾此书的阁书编号,在木窗体加载时 就加载了书籍的信息和读者列表。

47、private sub formload()dim mybook as new adodb. recordset dim mydz as new adodb. recordset dim sri as string dim sql as stringsri = select * from sjxx where 图书编号= & bookunm &mybook. open sri, sjk, adopenkeyset, adlockpessimi sticlabe18. caption = mybook. fields(0)labe19. caption = mybook. fie

48、lds(1)label10. caption = mybook. fields(2)label11. caption = mybook. fields(3)label12. caption = mybook. fields(4)label 13. caption = mybook. fields(5)label14. caption = mybook. fields(6)sql = "select * from dzxx ”mydz. open sql, sjk, adopenkeyset, adlockpessimistic if not mydz. eof thendo whil

49、e not mydz. eof combo1. additcm mydz. fields(0)combo2.additem mydz. fields(1)mydz. movenextloopcombo1. listindex = 0 elsemsgbox 请先登记读者,vbokonly + vbexclamation, 注意" exit sub end ifmybook. close mydz. closeend sub由于读者编兮与读者姓名是一一对应的,必须对川来加载这两个信息的两个列表框编写如下代码: private sub combol_click()combo2. listl

50、ndcx = combo1. li stindex end subprivate sub combo2_click()combol. listtndex = combo2. li stindexend subprivate sub command 1 _c 1 ick()?这是借书的“确定”按钮dim myjl as new adodb. recordsetdim sql as stringsql = "select * from dzxx where 读者编号= & combol. text &myjl. open sql, sjk, adopenkeyset, a

51、dlockpessimisticlb = myjl. fields(3)yjsl = myjl. fields(8)myjl. closesql = "select * from dzlb where 读者类别名称=/z & lb &myjl. open sql, sjk, adopenkcyset, adlockpessimisticqx = myjl. fields (2)maxm = myjl. fields(1)myjl.closeif yjsl = maxm thenmsgbox "该读者借书数额己满!,vbokonly + vbexclamati

52、on exit sub end if以上条件满足了,就将新借书信息添加到借阅信息数据库中,代码如卜 sql = "select * from jyxx"myjl. open sql, sjk, adopenkcyset, adlockpessimisticmyjl.addnewmyjl. fields(1) = combol. textmyjl. fields (2) myjl. fields (3) myjl. fields(4) myjl. fields(5) myjl. fields(6) myjl. updatecombo2. textlabel8> capt

53、ion label9> caption datedateadd ("ww",qx,date)myjl. close同吋,将此书在书籍信息(sjxx)表中的“是否被借出”设置为“是”。 sql = "select * from sjxx where 图书编号= & bookunm &myjk open sql, sjk, adopenkeyset,adlockpessimistic myjl. fields (7)="是"myjl. update myjl. close同时将该读者已借书数量上加1。sql = "s

54、elect * from dzxx where 读者编号= & combol. text & myjl. open sql, sjk, adoponkcyset, adlockpessimistic myjl. fields(8) = myjl. fields(8) + 1myjl. updatemyjl. closemsgbox & label9. caption &这木书成功地借给了读者姓名为"& combo2. text & "的读者 ",vbokonly + vbexclamation, 借阅成功"

55、unload meend subprivate sub command2_click()unload meend sub2. 5. 6. 3查询借书窗体代码private sub commandl_click()dim sql as string 定义一个字符中变fidim myjl as new adodb. recordset 定义一个 recordset 对象变量if optionl. value = true thensql = "select * from sjxx where 是否被借出=是"end ifif 0ption2. value = true then

56、sql = "select * from sjxx where 是否被借出=否" end iftf 0ption3. value = true thensql = "select * from jyxx where 读者姓名= & dzxm. text & end ifmyj1cursorlocat i on = adusecllentmyjl. open sql, sjk, adopenkeyset, adlockpessimistic dg. allowaddnew = false dg.a1lowdelete = false dg.a1lowupdate 二 falseset dg. datasource = myjl end subprivate sub command2_click() unload meend subprivate sub 0ption3 click() dzxm.visible = true end sub2.5. 6. 4还15窗体代码private sub form loadodim mybook as new adodb. records

温馨提示

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

评论

0/150

提交评论