收藏 分销(赏)

图书管理系统编程.doc

上传人:a199****6536 文档编号:2645229 上传时间:2024-06-03 格式:DOC 页数:21 大小:290.04KB
下载 相关 举报
图书管理系统编程.doc_第1页
第1页 / 共21页
图书管理系统编程.doc_第2页
第2页 / 共21页
图书管理系统编程.doc_第3页
第3页 / 共21页
图书管理系统编程.doc_第4页
第4页 / 共21页
图书管理系统编程.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、图书管理系统编程(免费下载) 作者: 日期:21 个人收集整理 勿做商业用途图书管理系统编程一 系统的功能要求 根据高校图书管理的实际要求,结合本系统开发的要求,对与本章所要介绍的“图书管理系统”的需求实现如下功能:1、书籍管理部分:这一部分包括书籍类别管理和书籍信息管理两部分,其中书籍类别管理包括添加书籍类别、修改书籍类别等;书籍信息管理包括书籍信息的添加、书籍信息的修改、书籍信息的查询、书籍信息的删除等。2、 读者管理部分:这一部分包括读者类别管理和读者信息管理两部分.其中德政类别管理包括添加读者类别、修改读者类别;读者信息管理包括添加读者信息、修改读者信息、删除读者信息、查询读者信息等。

2、3、 借阅管理部分:这一部分包括借书信息管理和还书信息管理两部分.其中,借书信息管理包括借书信息的添加、借书信息的修改、借书信息的查询等;还书信息管理部分包括还书信息的添加、还书信息的修改、还书信息的查询等4、系统管理:包括修改系统用户密码,增加新用户以及退出系统等。二 系统的需求分析 图书馆是一家所有工作手工操作的图书管理,随着计算机的发展,更多的图书馆采用计算机图书管理系统来实现,这样可以得到更好的管理.目前,方正学院已经购买了所有的计算机硬件很网络设备。设计一从采购编目流通管理 一体化的图书馆系统.主要表现:(一)采购,对新书的目录,要查存,判断图书馆是不是已经订过了,要人工查阅帐本完成

3、,是很麻烦的事。(二)验证,要填写两个帐本和盖章,而且在帐本上面很多信息是重复的。(三)编目,通过手工对书编目,对不同种类的书都要查找书是否已有,如果没有的话对新的书进行查阅中图法宝典来要编目,并且还有填写跟书卡,和大量的查阅用的卡片。这块消耗的人力最大了。(四)流通,在借书的时候要填写跟书卡和借书证并保管跟书卡做为借条;在还书的时候工作人员先要花一定时间把保管的跟书卡先找出来,再填写跟书卡和借书证。然后再把跟书卡和书夹在一起,工作人员要消耗很多时间,大大降低了工作效率.(五)无法统计书的阅读次数、当天的借还数目等很多统计信息。三 VB应用1具有面向对象的可视化设计工具 OOP2事件驱动的编程

4、机制 3提供了易学易用的应用程序集成开发环境 4结构化的程序设计语言 5支持多种数据库系统的访问 6支持动态数据交换(DDE)、动态链接库(DLL)和对象的链接与嵌入技术(OLE) 7联机帮助功能设计时:设计时是指在VB环境中建立应用程序时的时间.运行时:运行时是指在应用程序运行期间,用户与应用程序进行交互的时间。通常我们在设计时初始化窗体和控件的属性,在运行时响应窗体和控件的事件修改它们的属性或调用它们的方法。对象:将数据和处理该数据的过程(函数和子程序)打包在一起而生成的新的数据类型称之为对象。在Visual Basic中,所有窗体和控件都是对象。要访问对象的属性和方法,必须在对象和属性方

5、法之间加入一个句点。窗体:窗体是可用作定制应用程序界面的窗口,或用作从用户处收集信息的对话框。你可向窗体增加控件、图形或图片来创建你的应用程序界面。窗体可单独存在,也可是多文档界(MDI)中的一个文档,即一个子窗体。四 ADO访问数据库的原理与数据库相连,ADO。NET提供了如下3种方式:通过ODBC相连;通过OLEDB相连;直接与SQL Server相连.3种方式由于应用层次的差异,使得效率由低到高,独立性由高到低.对于相连数据库的数据处理,也有2种方式,即一种是通过DataSet来隔离异构的数据源,另一种是以流方式从数据源读取(DataReader方式)。传统的应用程序是通过先建立到数据库

6、的连接,在程序的整个运行过程中维护连接的方式来设计的。ASP。NET采取了断开连接方式的数据结构.当浏览器向Web服务器请求网页时,服务器处理这个请求,并将所请求的网页发送给浏览器,然后连接就被断开,直到浏览器发出下一个请求。ADO.NET的另一个创新是引入了数据集(Dataset)。一个数据集是内存中提供数据关系图的高速缓冲区。数据集对数据源一无所知,它们可以由程序或通过从数据仓库中调入数据而被生成、填充。不论数据从何处获取,数据集都是通过使用同样的程序模板而被操作的,并且它使用相同的潜在的数据缓冲区。Option ExplicitPrivate Sub Command1_Click()Di

7、m cn As New ADODB.Connection 数据库连接变量Dim Cmd As New ADODB。Command 命令集Dim rs As New ADODB.Recordset 记录集 Dim strConnect As String 连接字符串Set cn = New ADODB。ConnectionstrConnect = ”Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=database;Data Source=servername 指定连接字符串cn.Connecti

8、onString = strConnect cn。Open 连接数据库With Cmd 。ActiveConnection = cn 。CommandType = adCmdStoredProc个人收集整理,勿做商业用途个人收集整理,勿做商业用途五 系统的功能模块图书籍类别添加书籍类别修改图书管理系统系统管理增加用户修改密码读者管理部分读者信息管理读者类别管理书籍管理部分书籍信息管理书籍类别管理书籍信息添加书籍信息修改书籍信息查询书籍信息删除添加读者类别修改读者类别添加读者信息修改读者信息删除读者信息借阅管理部分借书管理还书管理查询读者信息借书信息修改借书信息添加借书信息查询还书信息查询还书信

9、息添加还书信息修改图书类别表读者信息表书籍信息表借阅信息表六 系统的流程图根据学校图书管理的实际流程,结合上述的各功能模块,系统的整体流程如图:重新登陆通过验证通过单击显示登录表单若为管理员身份若为管理员身份七 逻辑结构E-R图八 系统设计1 模块设计根据本系统的需求,结合实际图书管理情况,本系统应具有如下功能模块:1.1 图书管理功能书籍信息管理:包括书籍信息的添加、书籍信息的修改、书籍信息的查询和书籍信息的删除 4 部分功能。其中,书籍信息包括图书编号、书名、图书类别、作者、出版社、出版日期、登记日期已及是否已被借出。书籍类别管理:包括书籍类别的添加、书籍类别的修改、书籍类别的闪出 3 部

10、分功能.其中,书籍类别包括类别名称和类别编号两部分。1。2 读者管理部分读者信息管理:包括读者信息的添加、读者信息的修改、读者信息的查询和读者信息的删除 4 部分功能。其中,读者信息包括读者姓名、读者编号、性别、读者类别、工作单位、家庭住址、电话号码、登记日期和已借书数量。读者类别管理:包括读者类别的添加、读者类别的修改、读者类别的删除 3 部分功能。其中,读者类别包括种类名称、借书数量、借书期限和有效期限 4 部分。1。3 借阅管理部分借书管理:包括添加借书信息和查询借书信息 2 部分功能。其中,借阅信息包括借阅编号、读者编号、读者姓名、书籍编号、书籍名称、出借日期和还书日期还书管理:实现添

11、加还书信息功能。其中,还书信息与借阅信息各部分明细相同。1.4 系统管理部分设置操作人员。系统初始设置一个超级用户和密码,操作人员可以利用这个超级用户名和密码登录,之后,可以设置其他的超级用户名称,也可以设置权限用户,同时也设置了这个用户可以使用的权限。2 数据库设计本系统使用 Access2000 作为数据库管理系统( DataBaseManagementSystem, 数据库管理系统)。在通路中,新建一个数据库,将其取名为 book.mdb ,将新建的数据库放置在应用程序的目录中,以便调用。权限:(权限,姓名)登录用户:(帐号,姓名,密码,权限)用户:(用户帐号,姓名,性别,组号,证件号码

12、)图书类别:(类别,类名)图书:(图书编号,类别,书名,作者,出版日期,出版社,定价,总数量,剩下数量,备注)借阅:(用户帐号,图书编号,借书日期,到期日期,数量,还书日期)借阅信息:(用户帐号,图书编号,借书日期,到期日期,数量,还书日期)例如,书籍信息部分设计的表如图所示书籍信息部分图书管理系统数据库2.1数据库表设计读书者类别表对于读书者类别表,字段名称、借书数量、借书期限、有限期限等。在数据库中建立一个读书者类别表,用来记录所有的借阅者的信息。在刚刚建立的数据库中建立一个表,其字段结构如表达所示,需要注意的是该表的主关键字( PrimaryKey, PK )为种类名称,唯一标志一条的主

13、关键字( PrimaryKey, PK )为种类名称,唯一标志一条记录。读书类别表字段名数据类型说明种类名称文本必须字段为是,允许空字符为否借书数量数字 无借书期限数字无有效期限数字无读者信息表对于读者信息表,字段名称应该为读者姓名、读者编号、性别、读者类别、工作单位、家庭住址、电话号码、登记日期和已借书数量。在数据库中建立一个表,如图所示。主要的钥匙, PK ),唯一标识了一条记录的其中读者编号为该表的主关键字。 读者信息表字段名数据类型说明读者姓名文本必须字段为是,允许空字符为否读者编号文本必须字段为是,允许空字符为否性别文本字段大小2读者类别文本字段大小50工作单位文本字段大小50家庭住

14、址文本字段大小50电话号码文本字段大小12登记日期日期/时间无已借书数量数字无图书类别表对于图书类别表,字段名称应该为类别名称和类别编号。具体设置如表图书类别表字段名数据类型说明类别名称文本必须字段为是,允许空字符为否类别编号文本必须字段为是,允许空字符为否书籍信息表对于书籍信息表,字段名称应该为图书编号、书名、图书类别、作者、出版社、出版日期、登记日期及是否已被借出.具体设置如表所示.书籍信息表字段名数据类型说明图书编号文本必须字段为是,允许空字符为否书名文本必须字段为是,允许空字符为否类别文本字段大小50作者文本字段大小50出版社文本字段大小50出版日期日期/时间无登记日期日期/时间无是否

15、已被借出文本字段大小2借阅信息表对于借阅信息表,字段名称应该为借阅编号、读者编号、读者姓名、书籍编号、书籍名称、出借日期和还书日期.具体设置如表所示。借阅信息表字段名数据类型说明借阅编号自动编号无读者编号文本字段大小50读者姓名文本字段大小50书籍编号文本字段大小50书籍名称文本字段大小50出借日期日期/时间无还书日期日期/时间无 按照上面的表格要求设计好数据库(book.mdb)后,就可以进行系统窗体界面开发了。九 部分源代码图书管理系统Private Sub Toolbar1_ButtonClick(ByVal Button As MSComCtlLib.Button) On Error

16、Resume Next Select Case Button.Key Case ”查询图书” frmfindbook。Show Case 查询读者” frmfindreader。Show Case ”添加图书” frmaddbookstyle。Show Case 添加读者” frmaddreaderinfo。Show Case 查询借书” frmfindborrowinfo.Show Case 退出 End End SelectEnd SubPrivate Sub add_admin_Click()frmadduser.ShowEnd SubPrivate Sub add_back_book_

17、Click()frmbackbookinfo。ShowEnd SubPrivate Sub add_book_info_Click()frmaddbookinfo.ShowEnd SubPrivate Sub add_book_style_Click()frmaddbookstyle。ShowEnd SubPrivate Sub add_lend_book_Click()frmfindbook.ShowEnd SubPrivate Sub add_reader_info_Click()frmaddreaderinfo.ShowEnd SubPrivate Sub add_reader_styl

18、e_Click()frmaddreaderstyle.ShowEnd SubPrivate Sub change_pwd_Click()frmchangepwd.ShowEnd SubPrivate Sub del_book_info_Click()frmmodifybookinfo。ShowEnd SubPrivate Sub del_book_style_Click()frmmodifybookstyle.ShowEnd SubPrivate Sub del_reader_info_Click()frmreaderinfo.ShowEnd SubPrivate Sub del_reader

19、_style_Click()frmmodifyreaderstyle。ShowEnd SubPrivate Sub exit_sys_Click()EndEnd SubPrivate Sub find_book_info_Click()frmfindbook.ShowEnd SubPrivate Sub find_lend_book_Click()frmfindborrowinfo.ShowEnd SubPrivate Sub find_reader_info_Click()frmfindreader。ShowEnd SubPrivate Sub modify_book_info_Click(

20、)frmmodifybookinfo。ShowEnd SubPrivate Sub modify_book_style_Click()frmmodifybookstyle.ShowEnd SubPrivate Sub modify_reader_info_Click()frmreaderinfo。ShowEnd SubPrivate Sub modify_reader_style_Click()frmmodifyreaderstyle.ShowEnd Sub添加图书信息Option ExplicitPrivate Sub Command1_Click()Dim rs_addbook As Ne

21、w ADODB.RecordsetDim sql As StringIf Trim(Combo1.Text) = ” Then MsgBox ”请选择图书种类”, vbOKOnly + vbExclamation, ” Combo1.SetFocus Exit SubEnd IfIf Trim(Text1。Text) = ” Then MsgBox 图书编号不能为空, vbOKOnly + vbExclamation, Text1。SetFocus Exit SubEnd IfIf Trim(Text2.Text) = ” Then MsgBox ”书名不能为空”, vbOKOnly + vb

22、Exclamation, ” Text2。SetFocus Exit SubEnd If If Not IsDate(Text5。Text) Then MsgBox 请按照yyyy-mm-dd格式输入日期, vbOKOnly + vbExclamation, ” Text5。SetFocus Exit Sub End If If Not IsDate(Text6.Text) Then MsgBox ”请按照yyyymm-dd格式输入日期”, vbOKOnly + vbExclamation, ” Text6。SetFocus Exit Sub End Ifsql = select * from

23、 书籍信息 where 书籍编号=” & Text1。Text ”rs_addbook。Open sql, conn, adOpenKeyset, adLockPessimisticIf rs_addbook。EOF Then rs_addbook。AddNew rs_addbook.Fields(0) = Trim(Text1。Text) rs_addbook.Fields(1) = Trim(Text2.Text) rs_addbook。Fields(2) = Trim(Combo1。Text) rs_addbook.Fields(3) = Trim(Text3.Text) rs_addb

24、ook。Fields(4) = Trim(Text4。Text) rs_addbook。Fields(5) = Trim(Text5.Text) rs_addbook.Fields(6) = Trim(Text6。Text) rs_addbook。Fields(7) = ”否 rs_addbook。Update MsgBox ”添加书籍信息成功!”, vbOKOnly, ” rs_addbook。CloseElse MsgBox ”图书编号重复!”, vbOKOnly + vbExclamation, Text1.SetFocus Text1。Text = ” rs_addbook.Close

25、 Exit SubEnd IfEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Load()Dim rs_leibie As New ADODB。RecordsetDim sql As Stringsql = select * from 图书类别”rs_leibie.Open sql, conn, adOpenKeyset, adLockPessimisticrs_leibie.MoveFirstDo While Not rs_leibie.EOF Combo1.AddItem rs_leibie。Field

26、s(0) rs_leibie.MoveNextLooprs_leibie。CloseEnd SubPrivate Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)End SubPrivate Sub Text2_Change()End Sub图书类别Option ExplicitPrivate Sub Command1_Click()Dim rs_bookstyle As New ADODB.RecordsetDim sql As StringIf Trim(Text1。Text) = ” Then MsgBox

27、图书种类不能为空, vbOKOnly + vbExclamation, Text1。SetFocus Exit SubEnd IfIf Trim(Text2.Text) = Then MsgBox ”种类编号不能为空”, vbOKOnly + vbExclamation, Text2。SetFocus Exit SubEnd Ifsql = select * from 图书类别 where 类别名称= Text1.Text ”rs_bookstyle。Open sql, conn, adOpenKeyset, adLockPessimisticIf rs_bookstyle。EOF Then

28、rs_bookstyle.AddNew rs_bookstyle。Fields(0) = Trim(Text1.Text) rs_bookstyle。Fields(1) = Trim(Text2。Text) rs_bookstyle。Update MsgBox 添加图书类别成功!, vbOKOnly, ” rs_bookstyle.CloseElse MsgBox ”读者类别重复!”, vbOKOnly + vbExclamation, ” Text1。SetFocus Text1。Text = ” rs_bookstyle。Close Exit SubEnd IfEnd SubPrivate

29、 Sub Command2_Click()Unload MeEnd SubPrivate Sub Text1_Change()End Sub添加读者信息Option ExplicitDim rs_addreader As New ADODB.RecordsetPrivate Sub Command1_Click()Dim sql As StringIf Trim(Combo1。Text) = ” Then MsgBox ”请选择读者种类, vbOKOnly + vbExclamation, ” Combo1。SetFocus Exit SubEnd IfIf Trim(Text1.Text)

30、= ” Then MsgBox ”读者姓名不能为空, vbOKOnly + vbExclamation, ” Text1。SetFocus Exit SubEnd IfIf Trim(Text2。Text) = ” Then MsgBox 读者编号不能为空”, vbOKOnly + vbExclamation, ” Text2.SetFocus Exit SubEnd Ifsql = select * from 读者信息 where 读者编号= & Text2.Text ”rs_addreader.Open sql, conn, adOpenKeyset, adLockPessimisticI

31、f rs_addreader.EOF Then rs_addreader.AddNew rs_addreader。Fields(0) = Trim(Text1.Text) rs_addreader。Fields(1) = Trim(Text2.Text) rs_addreader.Fields(2) = Trim(Combo2.Text) rs_addreader.Fields(3) = Trim(Combo1。Text) rs_addreader.Fields(4) = Trim(Text3.Text) rs_addreader。Fields(5) = Trim(Text4.Text) rs

32、_addreader。Fields(6) = Trim(Text5.Text) rs_addreader.Fields(7) = CDate(Text6.Text) rs_addreader.Update MsgBox ”添加读者信息成功!, vbOKOnly, rs_addreader.CloseElse MsgBox 读者编号重复!”, vbOKOnly + vbExclamation, ” Text1.SetFocus Text1。Text = ” rs_addreader.Close Exit SubEnd IfEnd SubPrivate Sub Command2_Click()Un

33、load MeEnd SubPrivate Sub Form_Load()Combo2.AddItem 男”Combo2.AddItem 女”Dim rs_leibie As New ADODB.RecordsetDim sql As Stringsql = select * from 读者类别”rs_leibie。Open sql, conn, adOpenKeyset, adLockPessimisticrs_leibie.MoveFirstDo While Not rs_leibie。EOF Combo1。AddItem rs_leibie.Fields(0) rs_leibie。Mov

34、eNextLooprs_leibie.CloseEnd SubPrivate Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)End Sub添加读者类别Option ExplicitDim rs_readerstyle As New ADODB.RecordsetPrivate Sub Command1_Click()Dim sql As StringIf Trim(Text1。Text) = Then MsgBox ”读者种类不能为空”, vbOKOnly + vbExclamation, ” Text1。Set

35、Focus Exit SubEnd IfIf Trim(Text2。Text) = ” Then MsgBox ”借书数量不能为空”, vbOKOnly + vbExclamation, ” Text2.SetFocus Exit SubEnd IfIf Trim(Text3。Text) = ” Then MsgBox 借书期限不能为空”, vbOKOnly + vbExclamation, Text3.SetFocus Exit SubEnd IfIf Trim(Text4.Text) = ” Then MsgBox 有限期限不能为空, vbOKOnly + vbExclamation, T

36、ext4.SetFocus Exit SubEnd Ifsql = select from 读者类别 where 种类名称=” Text1。Text & rs_readerstyle。Open sql, conn, adOpenKeyset, adLockPessimisticIf rs_readerstyle.EOF Then rs_readerstyle。AddNew rs_readerstyle。Fields(0) = Trim(Text1。Text) rs_readerstyle.Fields(1) = CInt(Text2.Text) rs_readerstyle.Fields(2)

37、 = CInt(Text3.Text) rs_readerstyle.Fields(3) = CInt(Text4。Text) rs_readerstyle.Update MsgBox 添加读者类别成功!”, vbOKOnly, ” rs_readerstyle。CloseElse MsgBox ”读者类别重复!”, vbOKOnly + vbExclamation, ” Text1.SetFocus Text1。Text = ” rs_readerstyle。Close Exit SubEnd IfEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Load()End SubPrivate Sub Text1_Change()End Sub

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服