1、借阅基本信息包括借阅者信息,借阅者已借阅书籍,借书日期,借书编号等信息。还书基本信息包括借阅者编号,借阅者还书的编号,并且附带有查询功能,查看借阅者借阅的图书是否过期。2.4借阅者的需求分析借阅者基本信息包括借阅者借阅卡号,借阅者姓名,借阅者学号,所在院校,电话号码等基本信息。其中本系统中还包含借阅者的增添与删除,可以实现新生入学借阅的增加,毕业生的借阅信息的删除功能。2.5图书信息的需求分析图书基本信息包括图书编号,图书姓名,图书作者,图书ISBN,图书种类,图书数量等基本信息。本系统中增加了图书库存管理功能,可以查看图书所在库存的状态,看是否可以借阅。并且增加了图书增加功能,图书修改功能,
2、图书查询功能,可以查询图书在库各种信息,与借阅者的联系也一目了然。2.6 实际功能图2-1. 图书管理系统结构图第3章概念结构设计3.1 E-R图简介实体-联系图(Entity-RelationDiagram)用来建立数据模型,在数据库系统概论中属于概念设计阶段,形成一个独立于机器,独立于DBMS的ER图模型。通常将它简称为ER图,相应地可把用ER图描绘的数据模型称为ER模型。ER图提供了表示实体(即数据对象)、属性和联系的方法,用来描述现实世界的概念模型。构成E-R图的基本要素是实体、属性和联系,其表示方法为:实体型:用矩形表示,矩形框内写明实体名;属性:用椭圆形或圆角矩形表示,并用无向边将
3、其与相应的实体连接起来;多值属性由双线连接;主属性名称下加下划线;联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型在E-R图中要明确表明1对多关系,1对1关系和多对多关系。1对1关系在两个实体连线方向写1;1对多关系在1的一方写1,多的一方写N;多对多关系则是在两个实体连线方向各写N,M。实体与属性之间并没有形式上可以截然划分的界限,但可以给出两条准则:(1)作为“属性”不能再具有描述的性质;(2)“属性”不能与其他实体具有联系。3.2 本系统的E-R图管理员ID密码工作时间编号借阅者图书借阅卡编号年级学号姓名电话名称作者ISBSN种类数量操
4、作管理借阅返还借书日期图书期限 m n n m 图3-1. 图书管理系统总E-R图第4章数据库设计4.1数据库表图书管理数据库含7个表,它们分别为:图书表(Book);日期限定表(DataResrict);年级表(Grade);学院 表(Institute);管理员表(Lidrarian);借阅者表(Borrower);书种表(Title)。我们来看一下表的结构:4.1.1图书表图书表包括图书编号、书名、状态、借阅卡号、被借阅时间属性,各个属性的类型、长度、约束条件如表示表4-1. 图书表4.1.2日期限定表日期限定表包括书种、天数属性,各个属性的类型、长度、约束条件如表示表4-2. 日期限定
5、表4.1.3 年级表年级表包括年级编号、名称属性,各个属性的类型、长度、约束条件如表示表4-2. 年级表4.1.4学院表学院表包括学院编号、名称属性,各个属性的类型、长度、约束条件如表示表4-4. 学院表4.1.5管理员表管理员包括编号、ID、密码、工作时间、电话属性,各个属性的类型、长度、约束条件如表示表4-5. 管理员表4.1.6借阅者表借阅者包括借阅卡编号、学院编号、年级编号、姓名、学号、电话、已借书数目等属性,各个属性的类型、长度、约束条件如表示表4-6. 借阅者表4.1.7书种表书种表包括书名、作者、ISBSN、种类、数目等属性,各个属性的类型、长度、约束条件如表示表4-7. 书种表
6、第5章数据库的实现与程序5.1登陆界面设计输入“用户名”,“密码”,点击“确认”进入主题框;图5-1登陆该登陆界面代码如下所示:源代码: Public OK As BooleanPrivate Sub cmdCancel_Click() OK = False Me.HideEnd SubPrivate Sub cmdLogin_Click() 检验数据的有效性 If Trim(txtUserName.Text = ) Then MsgBox 请输入用户名! txtUserName.SetFocus Exit Sub ElseIf Trim(txtPassword = 请输入密码! txtPas
7、sword.SetFocus Else Dim myDbOper As New DbOperation Dim rst As ADODB.Recordset Dim sql As String建立连接 myDbOper.DB_Connect定义查询语句 sql = SELECT * FROM Librarian WHERE Id= + txtUserName + AND Password= + txtPassword + Set rst = myDbOper.querySQL(sql) If (Not rst.EOF) Then OK = True FrmMain.Show 0用户名和密码错误
8、,请重新输入. End If rst.Close关闭连接 myDbOper.DB_DisConnectPrivate Sub Form_Load()Private Sub Label1_Click()5.2管理员管理设计管理员窗口的设计主要包括“修改”、“添加”、“删除”,“刷新”等功能。添加管理员是依照窗口的信息依次填写,点击“提交”即可;图5-2进入管理员信息栏图5-3. 添加管理者该管理者添加的代码如下:Private Sub cmdExit_Click()Private Sub cmdSubmit_Click() If Trim(txtId) = Then请输入登录Id If Trim
9、(txtPwd) = 请输入登录密码SELECT * FROM Librarian WHERE seq= + Trim(txtSeq) + If rst.EOF = True Then With rst .AddNew !seq = Me.txtSeqid = Me.txtIdPassword = Me.txtPwdonJobTime = Me.txtTimetelephone = Me.txtPhone .Update End With信息添加成功.该编号已经存在,请重新输入.Private Sub Frame1_DragDrop(Source As Control, X As Single
10、, Y As Single)Private Sub txtId_Change()Private Sub txtPwd_Change()删除图书管理员是在管理员列表中点击要删除的那一行,点击“删除”即可;图5-4删除管理者 修改管理员首先在管理员列表中点击要修改的管理员信息,在编辑区填写要修改的信息,点击“修改”即可;图5-5修改管理者图5-6 刷新管理员列表该管理者的修改、删除代码如下所示:Private Sub cmdAdd_Click() FrmAddManager.Show 1Private Sub cmdDelete_Click() Dim tmpSeq As String If Ad
11、odc1.Recordset.BOF = True Then请选择记录 p = Adodc1.Recordset.AbsolutePosition tmpSeq = Trim(Adodc1.Recordset.Fields(0)确认删除 If MsgBox(是否删除当前行?, vbYesNo, 确认) = vbYes Then .Delete adAffectCurrent发生错误,请重新操作. Refresh_DataList If p - 1 0 Then Adodc1.Recordset.Move 0 Adodc1.Recordset.Move p - 1Private Sub cmdE
12、dit_Click() rst! rst.Update信息修改成功.发生错误,请重新输入.Private Sub cmdRefresh_Click()Private Sub DataGrid1_Click()保存光标位置读取当前记录的各列数据 Me.txtSeq = Trim(Adodc1.Recordset.Fields(0) Me.txtId = Trim(Adodc1.Recordset.Fields(1) Me.txtPwd = Trim(Adodc1.Recordset.Fields(2) Me.txtTime = Trim(Adodc1.Recordset.Fields(3) Me
13、.txtPhone = Trim(Adodc1.Recordset.Fields(4)恢复光标位置Private Sub Refresh_DataList()刷新管理员列表 Adodc1.RecordSource = SELECT * FROM Librarian ORDER BY seq Adodc1.RefreshPrivate Sub Label4_Click()5.3 借阅/还书管理设计借阅图书时首先要输入“借书卡号”,点击“确定”,就会出来借阅者的一些的基本信息,再在“借书登记栏”中输入书刊编号查询,如果在库是,点击“提交”即可;图5-7 借阅借阅其代码如下;Private Sub
14、cmdEnter_Click() If Trim(txtBorrId) = 请输入借书卡号SELECT b.StudentNum,b.name,i.Institute,g.Grade,b.teleNumber,b.borrowBookNum _ + FROM Borrower b,Institute i,Grade g WHERE b.InstituteID=i.InstituteID AND b.GradeID=g.GradeID AND BorrowerId= + txtBorrId + lblStuNum.Caption = .Fields(0) lblName.Caption = .F
15、ields(1) lblInstitute.Caption = .Fields(2) lblGrade.Caption = .Fields(3) lblPhone.Caption = .Fields(4) Refresh_DataList1用户不存在,请重新操作.Private Sub cmdQuery_Click() If Trim(txtBookId) = 请输入书刊编号SELECT b.BookID as 书刊编号,b.name as 名称,b.loan as 状态,t.author as 作者,t.isbsn as isbsn,t.type as 类型,b.BorrowDate as
16、借书日期 FROM Book b , Title t WHERE b.name=t.name AND b.BookID= + Trim(txtBookId) + Refresh_DataList2 (sql)该书刊不存在,请重新操作.Private Sub Refresh_DataList1()SELECT bo.BookID as 书刊编号,bo.name as 名称,bo.BorrowDate as 借书日期 From Borrower b,Book bo WHERE b.BorrowerID=bo.borrowerID and b.BorrowerID= + Trim(txtBorrId
17、) + Adodc1.RecordSource = sql Set DataGrid1.DataSource = Adodc1 DataGrid1.ReBindPrivate Sub Refresh_DataList2(sql As String) Adodc2.RecordSource = sql Adodc2.Refresh Set DataGrid2.DataSource = Adodc2 DataGrid2.ReBind Dim nowDate As New BookDate Dim update1_sql As String Dim update2_sql As StringSELECT loan FROM Book WHERE BookId= If Trim(rst.Fields(0) = 在库更新数据库表 update1_sql = UPDATE Book SET loan=借出,borrowerID=,BorrowDate= + nowDate.getDate + WHERE BookID= myDbOper.executeSQL (update1_sql) update2_sql
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1