资源描述
数据库系统课程设计 图书管理系统
———————————————————————————————— 作者:
———————————————————————————————— 日期:
15
个人收集整理 勿做商业用途
一. 相关技术介绍
本程序使用ACCESS+VB 。NET结合编写的.Access是Office办公套件中一个极为重要的组成部分而Visual Basic 。NET(简称VB 。NET)是四个。NET语言之一,Microsoft提供用以构建最新的。NET组件、应用程序和服务。这是继Visual Basic 6(简称VB 6)之后最新版的语言,并且它是历史上划时代的一次跳跃。现在,VB .NET是真正面向对象的语言。
程序编写环境:
数据管理系统:Microsoft Office ACCESS
程序编写平台:Microsoft Vieual Basic。NET
操作系统:Microsoft XP SP2
测试用帐号及密码:
学生帐号:3264
学生密码:888888
管理员帐号:admin
管理员密码:admin
下面子系统是有本人编写的:
l 管理员管理系统
l 图书管理
l 超时管理
第二节 需求分析
数据字典
数据库名:library。mdb
1)数据库内含下列表
admininfo (管理员资料)
board (公告记录)
bookinfo (图书资料)
class (学生班级资料)
classify (图书分类资料)
landinfo (图书借阅登记资料)
libraryinfo (图书馆基本配置记录)
studentinfo (学生资料)
2)数据库表详细设计
admininfo,管理员资料记录表
字段名称
数据类型
说明
长度
id
自动编号
管理员标识号
长整型
adminname
文本
登陆名
10
lpassword
文本
登陆密码
10
logins
数字
登陆次数
长整型
lastlogin
日期/时间
上次登陆时间
\
tiptop
数字
是否最高管理员,是:1,否:0
字节
board,公告资料记录表
字段名称
数据类型
说明
长度
id
自动编号
公告标识号
长整型
content
文本
公告内容
60
admin
数字
发表公告管理员ID
长整型
addtime
日期/时间
公告发表时间,默认:now()
\
bookinfo,图书资料记录
字段名称
数据类型
说明
长度
id
自动编号
图书标识号
长整型
name
文本
图书名
20
classify
数字
图书分类
整型
author
文本
图书作者
20
bookconcern
文本
图书出版社
25
addtime
日期/时间
进馆时间,默认:now()
\
amount
数字
图书数量
整型
remain
数字
剩余数量
整型
loandegree
数字
借出次数
长整型
display
数字
是否显示,是:0,否:1
字节
class,学生班级资料记录
字段名称
数据类型
说明
长度
id
自动编号
班级标识号
长整型
name
文本
班级名
20
classify,图书分类资料
字段名称
数据类型
说明
长度
id
自动编号
分类标识号
长整型
name
文本
分类名
10
landinfo,图书借阅登记资料记录
字段名称
数据类型
说明
长度
id
自动编号
借出图书标识号
长整型
bookid
数字
借出的图书标识号
长整型
studentid
数字
借书的学生标识号
长整型
landtime
日期/时间
借出时间,默认:Now()
\
returntime
日期/时间
实际还书的时间
\
shouldreturntime
日期/时间
应该还书的时间
\
hadreturn
数字
标识是否已经归还,是:1,否:0
字节
canreland
数字
续借次数
长整型
libraryinfo,图书馆基本配置记录
字段名称
数据类型
说明
长度
canland
数字
是否可借出图书,是:1,否:0
字节
canlandnum
数字
可以借出图书的数量 默认:0
整型
canlanddays
数字
图书可以借阅时间 默认:60天
整型
canreland
数字
可以续借的次数 默认:5次
整型
boardreflash
数字
公告刷新时间 默认时间为6000毫秒
长整型
studentinfo,学生资料记录
字段名称
数据类型
说明
长度
id
自动编号
学生标识号
长整型
name
文本
学生名
5
lpassword
文本
学生登陆密码
10
learnid
文本
学生学号
12
class
数字
班级标识号
整型
phone
文本
联系电话
11
lands
数字
借阅次数
长整型
logins
数字
登陆次数
长整型
lastlogin
日期/时间
最后登陆时间
\
islock
数字
是否超时锁定是:1否:0
字节
3)安全性和完整性要求
本程序实现学生与图书馆管理员的界面分离模式,同时实现管理员对学生有全面的资料管理功能。有多个图书、学生、系统的动态管理功能,如:图书的查询、添加、删除、修改与及学生的详细资料的查询、添加、删除、修改等等多样、动态的管理。同时可以放权给非最高级管理员查询、添加、删除、修改的能力,实现密码修改.
第三节 概念结构设计
E—R图
学生
管理
管理员
n
n
管理
图书
n
n
借阅
n
n
管理
班级
属于
n
n
n
n
第四节 逻辑结构设计
系统总体设计
包括两大系统:
一、学生图书借阅系统
图书借阅,归还,续借系统,修改登陆密码系统
二、管理员系统
包括:
1)管理员管理系统:添加、删除管理员,系统设有一个最高管理员拥有最高管理权限,修改管理员密码、登陆名
2)图书管理
(1)图书管理系统:查询、添加、删除、修改图书资料,可选择是否显示图书
(2)图书分类管理系统:图书分类添加、修改、删除管理
3)教务管理
(1)学生班级管理系统:学生班级添加、修改、删除管理
(2)学生信息管理系统:查询、添加、删除、修改学生资料
4)超时管理
图书借阅超时管理系统:列出学生超时借阅图书资料,锁定选定的学生,禁止锁定的学生再借阅,列出已锁定的学生名,可解除选定的学生,允许学生再借阅
5)系统配置
(1)图书馆基本配置设置系统:是否开放图书借阅,可设置可借出数量、借阅时间、续借次数、公告刷新时间,可重置为默认数据,修改配置方案
(2)公告管理系统:公告列表,添加、修改、删除公告
6)数据管理
学生数据管理系统:查询浏览学生详细资料
(3)图书借阅管理系统:可按书名、借阅学生查询借阅数据,全显示已、没归还图书借阅数据信息,可清除已归还借阅信息。
登陆界面与系统详细设计流程图:
界面输入
学生
输入框是否为空
管理员
输入框是否为空
为空
为空
警告框
学号、密码是否有错
帐号、密码是否有错
有错
有错
没有错误,隐藏登陆界面,打开学生借阅界面
没有错误,隐藏登陆界面,打开管理员管理界面
学生借阅图书登记系统流程图:
是否有选择图书
学生是否被锁定
是否开放借阅
图书是否已借阅
图书是否有剩余
添加数据入表landinfo
更新表studentinfo
更新表bookinfo
重新读取学生借阅图书信息
警告框
个人信息修改密码系统流程图:
三个输入框是否为空
原密码是否正确
新密码与确定密码是否一致
更新数据库
警告框
第五节 数据库物理设计
数据的存放位置:与程序同一任何文件夹.
程序中连接数据库语句:
Dim fileName As String = ”library。mdb”
Function getpath() '返回数据库完整路径
Return Path.GetFullPath(fileName) ’返回数据库完整路径
End Function
Dim sqlstr As String 'SQL语句标记
Dim objDS As DataSet ’数据在内存中的缓存
Public cmd As OleDbCommandBuilder
Dim connstring As String = "Provider=Microsoft.Jet。OLEDB.4。0;Data Source=" & getpath() & ”"
Public conn As OleDbConnection = New OleDbConnection(connstring)
数据读取公共函数:
Public Function GetData(ByVal sqlstr As String) As DataSet
ds = New DataSet
ds.Clear()
’实例化一个数据集对象
Try
conn.Open()
'打开数据库连接
ADOcmd = New OleDbDataAdapter(sqlstr, conn)
’将数据库的数据映射到数据适配器
ADOcmd。Fill(ds)
'填充数据集的数据
conn。Close()
’关闭数据连接,这一点很重要
Catch
MsgBox(”错误号:” & Err。Number & ”错误描述:” & Err.Description)
End Try
Return ds
ds = Nothing
End Function
数据更新公共函数:
Public Function UpdateData(ByVal sqlstr As String) As Boolean
Try
myCmd = New OleDbCommand(sqlstr, conn)
’要对数据源执行的 SQL 语句或存储过程。
conn.Open()
’打开数据库连接
myCmd。ExecuteNonQuery()
’执行SQL
conn.Close()
'关闭数据库连接
Catch
MsgBox(”错误号:” & Err.Number & ”错误描述:" & Err.Description)
Return False
End Try
Return True
End Function
第六节 数据库实施
数据库连接建立与及连接:
Public cmd As OleDbCommandBuilder
Dim connstring As String = "Provider=Microsoft。Jet。OLEDB。4.0;Data Source=” & getpath() & "”
Public conn As OleDbConnection = New OleDbConnection(connstring)
’定义一个数据连接对象,并初始化
数据库对象的SQL脚本文件
Dim sqlstr As String ’SQL语句标记
Dim objDS As DataSet '数据在内存中的缓存
sqlstr = "SELECT id,lpassword FROM studentinfo WHERE learnid='” & filter(Trim(tbname。Text)。ToString) & "’"
objDS = GetData(sqlstr)
If objDS.Tables(0)。Rows.Count 〉 0 Then
If objDS。Tables(0)。Rows(0)(”lpassword").ToString = tbpassword。Text Then ’比较输入密码和数据库的密码
Dim main As New win_main
loginid = objDS。Tables(0).Rows(0)(”id")
sqlstr = ”update studentinfo set logins=logins+1,lastlogin=now() where id=” & filter(Trim(loginid)。ToString) & ”"
objDS = GetData(sqlstr)
…
…
…
主要用户界面的设计:
登陆界面:
学生借阅图书界面
个人信息修改密码系统界面:
管理员界面与系统详细设计界面:
我负责的部分
第七节 参考文献
萨师煊,王珊。数据库系统概论(第三版)。北京:高等教育出版社,2000
黄志超,李婷婷。Visual Basic。NET项目开发实践。北京:中国铁道出版社,2003
黄明,梁旭,曹利超。Visual Basic。NET信息系统设计与开发实例。北京:机械工业出版社,2005
敬保恩,王保学,时春雨,Visual Basic.NET实例入门。北京:海洋出版社,中国青年出版社,2001
展开阅读全文