1、基于vb下的高校图书管理系统基于vb下的高校图书管理系统多图1、概述 为适应教育现代化的迫切要求,提高高校图书馆的现代化管理水平,提高图书馆使用效率,更好的配置图书资源,降低工作人员劳动强度;结合本人实际兴趣及知识,开发了此软件。2、详细设计21.系统功能模块图22. 数据流图:图片看不清楚?请点击这里查看原图(大图)。3.数据库设计3.1 数据库概念结构设计:3.2数据库逻辑结构的设计包括有系统用户表yonghu、读者表duzhe、图书表tushu、借阅表jieshu、设置表shez。图书表tushu字段名称类型说明图书编号文本书名文本作者文本出版社文本单价文本本数文本已借出数文本借出次数文
2、本读者表duzhe字段名称类型说明读者编号文本姓名文本班级文本电话号码文本借阅次数文本已借本数文本已交罚款文本借阅表jieshu字段名称类型说明读者编号文本图书编号文本借书日期日期/时间还书日期日期/时间应还日期日期/时间续借文本设置表shez字段名称类型说明还书期限整型续借期限整型最大借书数整型4、主要功能模块设计4.1.系统登陆界面设计功能介绍: 用户选择用户名并输入密码,系统按用户名查看yonghu表,若密码正确,则按权限进入图书管理系统的主界面;若用户密码输入不正确,则系统提示出错,要求重新输入密码否则不得进入本系统。(注:还定义了一个模块名为module1.bas ,pubyh和qu
3、anxian都是全局变量,一个保存用户名,一个保存权限、还有hsqx 、xjqx 、zdjss用于保存还书期限、续借期限、最大借书数。)代码实现:Private Sub Command1_Click() Adodc1.RecordSource = select * from yonghu where 用户名= & DataCombo1.Text & and 密码= & Text1.Text & Adodc1.Refresh If Adodc1.Recordset.EOF = False Then pubyh = DataCombo1.Text quanxian = Adodc1.Records
4、et.Fields(权限) Me.Hide MDIForm1.Show Else MsgBox 密码错误,请重新输入!, vbOKOnly + vbExclamation, 图书馆 Text1.Text = Call Form_Load End IfEnd SubPrivate Sub Form_Load() Adodc1.ConnectionString = Provider=Microsoft.Jet. & OLEDB.4.0;Data Source= & App.Path & kcsj.mdb;Persist Security Info=False数据库的连接,使用相对路径 Adodc1
5、.RecordSource = select * from yonghu Adodc1.Refresh Label5.Caption = 日期: & Date End Sub4.2图书管理系统的主界面设计(a)界面设计:(b)功能介绍: 主界面的功能有系统管理模块:系统设置、用户管理、注销、退出。数据管理模块:借书管理、续借管理、还书管理、图书管理、读者管理。数据查询模块:借阅查询、图书查询、读者查询。统计排行模块:读者统计排行、图书统计排行。今日盘点模块:今日借出图书、今日归还图书、今日到期图书。使用了菜单、工具栏和状态栏。(c)代码实现:Private Sub MDIForm_Activa
6、te()Unload frmloginAdodc1.ConnectionString = Provider=Microsoft.Jet. & OLEDB.4.0;Data Source= & App.Path & kcsj.mdb;Persist Security Info=False Adodc1.RecordSource = select * from shez Adodc1.Refresh hsqx = Adodc1.Recordset.Fields(还书期限) xjqx = Adodc1.Recordset.Fields(续借期限) zdjss = Adodc1.Recordset.F
7、ields(最大借书数)string1 = 当前还书期限: & hsqx & 个月续借期限: & xjqx & 个月最大借书数: & zdjss & 本Select Case quanxian 根据权限分配功能的使用Case 1: beizu = 系统管理员: menuxtsz.Enabled = True Case 2:beizu = 操作员: 权限为2的是一般操作人员 menuxtsz.Enabled = False Toolbar1.Buttons.Item(1).Enabled = True Case 3: beizu = 读者: 权限为3的是读者 End SelectStatusBa
8、r1.Panels(1).Text = beizu + pubyhStatusBar1.Panels(2).Text = string1End Sub4.4 借书管理模块(a) 界面设计b)功能介绍该部分完成对读者的借书管理并将借书信息写入jieshu表中,并修改duzhe表中借阅次数、已借本数两字段和tushu表中借出次数、已借本数两字段,读者借书数超过系统参数设定的最多本数的不能再借。(c)代码实现Private Sub Command1_Click() b = CInt(Text6.Text) 读者已借图书数 e = CInt(Text5.Text) 读者的借阅次数 c = CInt(T
9、ext17.Text) 图书的本数 d = CInt(Text18.Text) 图书已借出数 f = CInt(Text12.Text) 图书的借出次数 If zdjss - b = 0 Then MsgBox 你已借满图书了, 借书 Exit Sub End If If c - d = 0 Then MsgBox 你要的图书已全部借出, 借书 Exit Sub End If Adodc1.Recordset.Update 已借本数, Str(b + 1) Adodc1.Recordset.Update 借阅次数, Str(e + 1) Text6.Text = Adodc1.Recordse
10、t.Fields(已借本数) Text5.Text = Adodc1.Recordset.Fields(借阅次数) Adodc2.Recordset.Update 已借出本数, Str(d + 1) Adodc2.Recordset.Update 借出次数, Str(f + 1) Text18.Text = Adodc2.Recordset.Fields(已借出本数) Text12.Text = Adodc2.Recordset.Fields(借出次数)Adodc3.Recordset.AddNew Adodc3.Recordset.Fields(读者编号) = Text1.Text Adod
11、c3.Recordset.Fields(图书编号) = Text16.Text Adodc3.Recordset.Fields(借书日期) = DTPicker1.Value Adodc3.Recordset.Fields(应还日期) = DTPicker2.Value Adodc3.Recordset.Fields(续借) = 0 Adodc3.Recordset.Update Adodc3.RefreshEnd SubPrivate Sub Form_Load() Adodc1.ConnectionString = Provider=Microsoft.Jet. & OLEDB.4.0;D
12、ata Source= & App.Path & kcsj.mdb;Persist Security Info=False Adodc1.RecordSource = select * from duzhe Adodc1.Refresh DTPicker1.Value = Date DTPicker2.Value = DateAdd(m, hsqx, DTPicker1) hsqx是还书期限End SubPrivate Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = 13 ThenAdodc1.Refres
13、hAdodc1.Recordset.Find 读者编号 = & Text1.Text & If Adodc1.Recordset.EOF = True Then MsgBox 无此读者编号, 借书 Text2.Text = Adodc1.Refresh Exit Sub End IfText2.Text = Adodc1.Recordset.Fields(姓名)End IfEnd SubPrivate Sub Text16_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = 13 ThenAdodc2.RefreshAdodc2.
14、Recordset.Find 图书编号 = & Text16.Text & If Adodc2.Recordset.EOF = True ThenMsgBox 无此图书编号, 借书Text15.Text = Adodc2.Refresh Exit SubEnd IfText15.Text = Adodc2.Recordset.Fields(书名)End IfEnd Sub4.5图书查询(a)界面设计:(b)功能介绍:对图书可根据不同的条件进行查询(图书编号、书名、作者、出版社)。(c)代码实现:Private Sub Command1_Click()Select Case combo1.Lis
15、tIndexCase 0Adodc1.Recordset.Find 图书编号 = & Text8.Text & If Adodc1.Recordset.EOF ThenAdodc1.Recordset.MoveFirstAdodc1.Recordset.Find 图书编号 = & Text8.Text & End IfCase 1 书名采用模糊查询Adodc1.Recordset.Find 书名 like * & Text8.Text & *If Adodc1.Recordset.EOF ThenAdodc1.Recordset.MoveFirstAdodc1.Recordset.Find 书名 like * & Text8.Text & *End IfEnd SelectEnd Sub5结束语本程序严格按照软件工程的设计流程,使用编程简洁、面向对象的可视化编程语言Visual Basic 6.0,并结合MS Access实现数据库的操作。整个系统实现了一般图书馆系统中的功能。