ImageVerifierCode 换一换
格式:DOCX , 页数:53 ,大小:436.89KB ,
资源ID:5984394      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5984394.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(图书租借系统.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

图书租借系统.docx

1、图书租借系统附加实例2图书租赁系统 目前租书社与读书社,每天都要处理图书、读书会员、借书、还书等信息,并且需要将这些记录保存在数据库中。手动记录这些数据会耗费大量时间,如果做一个程序通过电脑来管理会更方便、省时。 本章将详细介绍一个关于图书租赁的信息管理系统,逐步向读者演示如何通过Visual Basic实现管理信息系统。2.1 系统分析 一个完善的的图书租赁系统应包括除借书、还书外还要对图书信息及会员信息进行管理。对这些信息的处理操作有添加记录、删除记录、修改记录等。2.1.1 功能需求分析 根据与图书租赁系统有关操作发生交互对象入手,可以分析出系统的功能需求有图书租赁管理、图书管理、会员管

2、理、操作员管理。 1图书租赁管理 图书租赁管理是本软件最常用的操作,其功能如下。(1)外借图书:向外租赁图书给会员,此操作需要记录会员信息、所借图书信息、及借阅时间。(2)归还图书:会员来读书社还书,此操作需要记录会员信息、所还图书及还书时间。(3)租赁记录查询:对会员所借及所还图书进行查询,此操作需要联合查询会员信息、图书信息、会员租赁记录,可完成显示全部借阅记录,或未还记录。(4)租赁数据设定对每本每天需要的租金进行设定。2图书管理图书是图书租赁系统管理的目标对象,图书管理应包括查找图书、添加图书、删除图书、修改图书、显示全部图书等。 3会员管理 会员是图书租赁系统的服务对象,只有对已存在

3、系统中的会员才能提供图书租赁服务。会员管理功能包括添加会员、删除会员、修改会员、查找会员、会员充值及会员记录查询等。 4操作员管理 操作员是本系统的使用者,操作员必须输入用户名与密码才能登录系统进行各种操作,本功能应包括添加、删除操作员及密码设置及修改等功能,本例只有修改管理员密码的功能,系统中只有一个管理员用户,如果读者对此感受兴趣可自行添加其它功能。2.1.2 数据需求分析 为了实现图书租赁系统所需要的所有功能,图书租赁系统由六个表组成。图书表保存图书信息,会员表保存会员信息,借书记录保存租赁记录,vipaccount表保存会员的帐号信息及现借书数量,loginaccount保存操作员信息

4、包括操作员用户名和密码,zujin保存每天每本书的租金,会员帐号最低余额。2.2 系统设计 根据前面对系统功能需求及数据需求的分析,本节对这些功能模块及数据库存设计进行介绍。2.2.1 系统功能模块设计 系统功能模块由一个公用模块和若干子模块组成,公用模块是在其它几个子模块都能用到的一些功能,放到一个公用的模块中。 1系统公用模块 系统公用模块名为module1,其中opendate过程负责连接数据库。 2系统各子模块图18-1系统各子模块的组成 按照各子模块的逻辑组成关系如图18-1所示。其中图书租赁管理模块包括借书管理、还书管理、租赁记录查询及租赁数据设定;图书管理包括图书信息的添加、删除

5、、修改等操作;会员管理包括会员信息的添加、删除、修改等;操作员管理信息。2.2.2 系统数据库设计 根据系统数据库需要分析,下面对我们需要的数据库表的设计进行详细介绍,我们使用SQL SERVER数据库,首先在SQL SERVER中使用在前面章节中介绍的方法创建图书租赁系统数据库,然后建立6个表,每个表的属性分别如表18-1至18-6所示。表18-1 图书表属性字段名字段说明数据类型字段大小是否允许为空默认值bookno图书编号Char5否Bookname图书名称Char30是Booktype图书类型Char10是Bookpubdate出版日期Char10是Writer作者Char6是Pric

6、e单价Money8是Bookintor图书简介Text16是lended是否被借出Char1是0表18-2 会员表属性字段名字段说明数据类型字段大小是否允许为空默认值Id会员编号Char5是Name会员姓名Char6是Age年龄Char3是Sex性别Char2是Addr联系地址Char50是Mbphone手机Char11是Tele电话Char12是表18-3 借书记录表属性字段名字段说明数据类型字段大小是否允许为空默认值Vipid会员编号Char5否Bookno图书编号Char5否Lendeddate借出日期Char10是Returned是否归还Char1是0returneddate归还日期C

7、har10是表18-4 vipaccount表属性字段名字段说明数据类型字段大小是否允许为空默认值Id会员编号Char5是Pass密码Char11是Account帐户余额Money8是0Bkamount借书数量Char3是0表18-5 loginaccount表属性字段名字段说明数据类型字段大小是否允许为空默认值Users用户Char11是Pass密码Char11是表18-6 zujin表属性字段名字段说明数据类型字段大小是否允许为空默认值Zujin每本第天租金Money8是1Mini会员账户最低余额Money8是2.3 系统实现 按照上面的需求分析我们创建了程序所需要的数据库和表,下面我们来

8、看程序的实现部分,即如何通过VB编程访问上面那些表和实现上面所述的图书租赁系统所需要的功能。2.3.1 新建工程 打开Visual Basic出现VB新建工程向导如图18-2所示,选择标准EXE工程并打开。进入IDE开发环境。图18-2 新建工程向导2.3.2 创建公用模块和登录模块 (1)将默认窗体“form1”改为“frmlogin”。添加一个标准模块Module1添加步骤为:选择【工程】【添加模块】菜单命令,然后在打开的“添加模块”对话框中单击【打开】按钮,这时工程资源管理器如图18-3所示。图18-3添加标准模导块 (2)添加标准模块代码如下:Public cn As New ADOD

9、B.ConnectionPublic rs As New ADODB.RecordsetPublic Sub opendata()cn.Open Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;pwd=;Initial Catalog=图书租赁系统;Data Source=(local)End Sub 标准模块中定义了cn(数据库连接)和rs(记录集)两个公用变量及opendata过程。Opendata过程用来打开数据库连接。 (3)双击工程资源管理器窗体中的frmlogin,打开登录窗体,设计登录窗体界面如图18-4所示。

10、图18-4登录窗体界面 登录窗体的负责操作员使用本系统时的密码校验,必须输入正确密码才能使用本系统。管理员帐号保存在loginaccount表中,建表时添加一条记录users和pass的值都为“admin”(4)编写登录窗体代码:确定按钮代码:Private Sub Command1_Click()If Len(Text1.Text) 0 ThenDim sqlstr As Stringsqlstr = select * from loginaccount where users= & Text1.Text & rs.Open sqlstr, cn, adOpenDynamic, adLock

11、OptimisticIf rs.RecordCount 0 Then If Text2.Text = Trim(rs.Fields(1).Value) Then frmmain.Show Unload Me Else MsgBox (密码错误) End If Else MsgBox (没有此用户) End Ifrs.Close Else MsgBox (请输入用户)End IfEnd SubSql变量为字符串型变量,用来保存SQL语句。“&”为字符串连接符。rs的open方法返回一个记录集,这个记录集保存在rs中,open方法的用法请参考前面章节的内容介绍。Frmmain.show调用主窗体。

12、unload语句可以将窗体或控件从内存中卸载,恢复内存空间,me是指自己也就是登录窗体。取消按钮代码:Private Sub Command2_Click()EndEnd Sub用户单击取消按钮时会结束程序运行。窗体加载时代码:Private Sub Form_Load()rs.CursorLocation = adUseClientrs.CursorType = adOpenStaticopendataEnd Sub 窗体加载时打开数据连接,CursorLocation定义定义游标类型为客户端型,CursorType指示当从指定的查询中打开一个结果集时所使用的游标缺省类型adOpenStat

13、ic为只读。2.3.3 创建主窗体frmmain.frm 选择【工程】【添加窗体】菜单命令,打开“添加窗体”对话框,如图18-5所示。图18-5“添加窗体”对话框 直接单击对话框中的【打开】按钮,创建了一个窗白窗体,由于程序使用了SSTAB控件。首先引入此控件,此控件的文件名为TABCTL32.OCX。选择【工程】【部件】菜单命令,打开“部件”对话框,如图18-6所示。有时系统中找不到此文件,本例提供了此文件,位于“光盘chap18”文件夹中,单击图18-6中的【浏览】按钮,找到该文件夹选中“TABCTL32.OCX”,单击【打开】按钮,返回到“部件”对话框,单击【确定】按钮,此时工具箱中添加

14、了SSTab控件,图标为“”。图18-6 添加SStab控件到工具箱 在新建窗体中放置一个Sstab控件,如图18-7所示。图18-7 在窗体中添加SSTab控件 在此控件上单击右键将打开一个菜单,在打开的菜单上左键单击【属性】菜单命令后打开如图18-8所示的属性页图18-8 SSTab控件的属性页 将Tab Count(页面个数)和TabsPerRow(每行页数)都设为4并单击【应用】按钮,然后单击Current Tab后面的“”两个按钮,可在0至3之间前后翻页。从第一个到第四个依次改变它们的TabCaption属性值为“图书租赁管理”、“图书管理”、“会员管理”、“操作员管理”设计完如图1

15、8-9所示。图18-9 SSTab控件设置完后界面 添加主窗体菜单,按Ctrl+E快捷键打开“菜单编辑器”对话框,如图18-10所示。图18-10 “菜单编辑器”对话框主窗体菜单属性如表18-7所示。表18-7 主窗体菜单属性表标 题名 称属 性图书租赁系统Mzl主菜单借书管理Mlend一级子菜单还书管理Mreturn一级子菜单租赁记录查询Mseek一级子菜单租赁数据设定Minfo一级子菜单图书管理Mbk主菜单查找图书Mbkseek一级子菜单添加图书Mbkadd一级子菜单删除图书Mbkdel一级子菜单编辑图书Mbkedit一级子菜单显示全部数据Mshowallbk一级子菜单会员管理Mvip主菜

16、单添加Mvipadd一级子菜单删除Mvipdel一级子菜单编辑Mvipedit一级子菜单查找会员Mvipseek一级子菜单会员充值Mvipincharge一级子菜单修改密码Mchgpass一级子菜单显示全部Mshowallvip一级子菜单操作员管理Mop主菜单修改管理员密码Mchgadminpass一级子菜单关于Mabout主菜单2.3.4 创建图书租赁模块图书租赁模块是本系统中使用最频繁的模块,具体的创建步骤如下:(1)在SSTab控件第一页添加四个命令按钮,分别命名为cmdlend、cmdreturn、cmdseek、cmdinfo,对应的caption属性分别为借书管理、还书管理、租赁记

17、录查询、租赁数据设定,如图18-11所示。 图18-11 图书租赁管理模块(2)编写【辑借书管理】按钮代码如下:Private Sub cmdlend_Click()frmlend.ShowEnd SubFrmlend.show命令可以打开借书管理窗体(frmlend.frm)。(3)创建借书管理窗体。选择【工程】【添加窗体】菜单命令打开“添加窗体”对话框,单击该对话框中的【打开】按钮添加一个新窗体,将其名称改为“frmlend”。在借书管理窗体中放置数个标签、文本框和按钮,设计的界面如图18-12所示。图18-12 借书管理窗体 借书管理窗体主要控件的属性设置如表18-8所示。表18-8 借

18、书管理窗体主要控件属性对象属性值说明Form名称Frmmain窗体名称Caption借书管理系统窗体标题Text名称Txtvipid会员编号名称Txtvipname会员姓名名称Txtbkamount已借图收量名称Txtbkno图书编号名称Txtbkname图书名称名称Txtbktype图书类型名称Txtpubdate出版日期CommandButton名称Cmdlend按钮名称Caption借出按钮标题名称Cmdrelend按钮名称Caption重借按钮标题名称Cmdend按钮名称Caption退出按钮标题(4)编写借书管理窗体代码:借出命令按钮代码Private Sub cmdlend_Cli

19、ck()If txtvipid.Text = Or txtbkno.Text = Then判断会员编号和图书编号是否为空 MsgBox (请填写完整信息) txtvipid.SetFocus ElseIf MsgBox(信息无误,同意借出吗?, vbYesNo) = vbYes ThenSet rs = Nothingrs.CursorLocation = adUseClientrs.Open select * from 图书表 where bookno= & txtbkno.Text & , cn, adOpenDynamic, adLockOptimisticIf rs.Fields!le

20、nded = 1 Thentxtbkno.Text = txtbkname.Text = txtbktype.Text = txtpubdate.Text = MsgBox (此书已借出!)txtbkno.SetFocusExit SubEnd IfSet rs = Nothingrs.Open select * from vipaccount where id= & txtvipid.Text & , cn, adOpenDynamic, adLockOptimisticIf Trim(rs.Fields!pass) Trim(InputBox(请输入读者的会员密码:) ThenMsgBox

21、 (读者的密码有误,对不起不能借给读者书)Exit SubEnd IfSet rs = Nothingsqlstr = update vipaccount set bkamount=bkamount+1 where id= & txtvipid.Text & rs.Open sqlstr, cn, adOpenDynamic, adLockOptimisticSet rs = Nothingrs.Open update 图书表 set lended=1 where bookno= & txtbkno.Text & , cn, adOpenDynamic, adLockOptimisticSet

22、 rs = Nothingsqlstr = insert into 借书记录 (vipid,bookno,lendeddate) values ( & txtvipid.Text & , & txtbkno.Text & , & Date & )rs.Open sqlstr, cn, adOpenDynamic, adLockOptimisticMsgBox (借出成功!)Unload MeEnd IfEnd IfEnd SubSetfocus方法设定哪个控件具有焦点。VbYesNo定义消息框显示的提示按钮为“是”和“否”。Set rs=nothing语句将rs变量从内存中卸载,同时关闭以前打

23、开的记录集。rs.fields!lended引用lended字段返回lended字段的值,若lended字段值为1时说明此书已借出,退出过程,停止借出,如果为0继续借出,借出前要求会员输入密码,会员密码保存在vipaccount表中,密码不正确时退出过程,如果密码校验成功则更新vipaccount表中的bkamount字段,即会员未还图书的数量加1,并将图书表中借出图书的lended字段的值更新为1,同时在借书记录表中插入一条借书记录。重借按钮代码:Private Sub cmdrelend_Click()txtvipid.Text = txtvipname.Text = txtbkamoun

24、t.Text = txtbkno.Text = txtbkname.Text = txtbktype.Text = txtpubdate.Text = txtvipid.SetFocusEnd Sub此过程负责清空填写的所有信息,并使txtvip获得焦点。退出按钮代码:Private Sub cmdend_Click()Unload MeEnd Sub此过程很简单调用unload语句卸载借书管理窗体,me代表当前窗体。 (5)编写图18-11中的【还书管理】按钮代码如下:Private Sub txtreturn_Click()frmreturn.ShowEnd SubFrmreturn.sh

25、ow命令可以打开还书管理窗体(frmreturn.frm)。(6)创建归还图书窗体。选择【工程】【添加窗体】菜单命令将打开“添加窗体”对话框,直接单击该对话框中的【确定】按钮后,添加一个新窗体,将其名称改为“frmreturn”,在窗体中放置数个文本标签、文本框和按钮,如图18-13所示。窗体中主要控件的属性设置如表18-9所示。图18-13 归还图书窗体表18-9 归还图书窗体的主要控件属性表对象属性值说明Form名称Frmreturn窗体名称Caption归还图书窗体标题Text名称Txtvipid会员号名称Txtvipname会员姓名名称Txtbkamount已借图书量名称Txtbkno

26、图书编号名称Txtbkname图书名称名称Txtbktype图书类型名称Txtbkpubdate出版日期CommandButton名称Cmdreturn按钮名称Caption归还按钮标题NameCmdrereturn按钮名称Caption续还按钮标题NamCmdexit按钮名称Caption退出按钮标题(7)编写归还窗体代码: 归还按钮代码:Private Sub cmdreturn_Click()Dim days As IntegerDim money As SingleIf txtvipid.Text = Or txtbkno.Text = Then MsgBox (请填写完整信息) tx

27、tvipid.SetFocus ElseSet rs = Nothingrs.CursorLocation = adUseClientsqlstr = select * from 借书记录 where vipid= & txtvipid.Text & and bookno= & txtbkno.Text & and returned= 0 rs.Open sqlstr, cn, adOpenDynamic, adLockOptimisticIf rs.RecordCount 0 Then days = Date - CDate(rs.Fields!lendeddate) If days = 0

28、 Then days = 1 Set rs = Nothing rs.Open select * from zujin, cn, adOpenDynamic, adLockOptimistic money = days * rs.Fields(0).Value If MsgBox(信息无误,同意借出吗?, vbYesNo) = vbYes Then Set rs = Nothing rs.Open update 图书表 set lended=0 where bookno= & txtbkno.Text & , cn, adOpenDynamic, adLockOptimistic Set rs = Nothing rs.Open update vipaccount set bkamount=bkamount-1,account=account- & money & where id= & txtvipid.Text & , cn,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1