程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB6 >> 基於vb下的高校圖書管理系統

基於vb下的高校圖書管理系統

編輯:VB6

1、概述

為適應教育現代化的迫切要求,提高高校圖書館的現代化管理水平,提高圖書館使用效率,更好的配置圖書資源,降低工作人員勞動強度;結合本人實際興趣及知識,開發了此軟件。

2、詳細設計

2.1.系統功能模塊圖

2.2. 數據流圖:

3.數據庫設計

3.1 數據庫概念結構設計:

3.2數據庫邏輯結構的設計

包括有系統用戶表yonghu、讀者表duzhe、圖書表tushu、借閱表jieshu、設置表shez。

圖書表tushu

字段名稱

類型

說明

圖書編號

文本

 

書名

文本

 

作者

文本

 

出版社

文本

 

單價

文本

 

本數

文本

 

已借出數

文本

 

借出次數

文本

 

讀者表duzhe

字段名稱

類型

說明

讀者編號

文本

 

姓名

文本

 

班級

文本

 

電話號碼

文本

 

借閱次數

文本

 

已借本數

文本

 

已交罰款

文本

 

借閱表jieshu

字段名稱

類型

說明

讀者編號

文本

 

圖書編號

文本

 

借書日期

日期/時間

 

還書日期

日期/時間

 

應還日期

日期/時間

 

續借

文本

 

設置表shez

字段名稱

類型

說明

還書期限

整型

 

續借期限

整型

 

最大借書數

整型

 

4、主要功能模塊設計

4.1.系統登陸界面設計

功能介紹:

用戶選擇用戶名並輸入密碼,系統按用戶名查看yonghu表,若密碼正確,則按權限進入圖書管理系統的主界面;若用戶密碼輸入不正確,則系統提示出錯,要求重新輸入密碼否則不得進入本系統。(注:還定義了一個模塊名為module1.bas ,pubyh和quanxian都是全局變量,一個保存用戶名,一個保存權限、還有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.Recordset.Fields("權限")

       Me.Hide

       MDIForm1.Show

    Else

       MsgBox "密碼錯誤,請重新輸入!", vbOKOnly + vbExclamation, "圖書館"

       Text1.Text = ""

       Call Form_Load

    End If

End Sub

Private Sub Form_Load()

    Adodc1.ConnectionString = "Provider=Microsoft.Jet." & "OLEDB.4.0;Data Source=" & App.Path & "kcsj.mdb;Persist Security Info=False" '數據庫的連接,使用相對路徑

    Adodc1.RecordSource = "select * from yonghu"

    Adodc1.Refresh

    Label5.Caption = "日期:" & Date

    End Sub

4.2圖書管理系統的主界面設計

(a)界面設計:

(b)功能介紹:

主界面的功能有系統管理模塊:系統設置、用戶管理、注銷、退出。數據管理模塊:借書管理、續借管理、還書管理、圖書管理、讀者管理。數據查詢模塊:借閱查詢、圖書查詢、讀者查詢。統計排行模塊:讀者統計排行、圖書統計排行。今日盤點模塊:今日借出圖書、今日歸還圖書、今日到期圖書。使用了菜單、工具欄和狀態欄。

(c)代碼實現:

Private Sub MDIForm_Activate()

Unload frmlogin

Adodc1.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.Fields("最大借書數")

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 Select

StatusBar1.Panels(1).Text = beizu + pubyh

StatusBar1.Panels(2).Text = string1

End Sub

4.4 借書管理模塊

(a) 界面設計

b)功能介紹

該部分完成對讀者的借書管理並將借書信息寫入jieshu表中,並修改duzhe表中借閱次數、已借本數兩字段和tushu表中借出次數、已借本數兩字段,讀者借書數超過系統參數設定的最多本數的不能再借。

(c)代碼實現

Private Sub Command1_Click()

      b = CInt(Text6.Text)  ‘讀者已借圖書數

      e = CInt(Text5.Text)   ‘讀者的借閱次數

      c = CInt(Text17.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.Recordset.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

    Adodc3.Recordset.Fields("圖書編號") = Text16.Text

    Adodc3.Recordset.Fields("借書日期") = DTPicker1.Value

    Adodc3.Recordset.Fields("應還日期") = DTPicker2.Value

    Adodc3.Recordset.Fields("續借") = "0"

    Adodc3.Recordset.Update

    Adodc3.Refresh

End Sub

Private Sub Form_Load()

    Adodc1.ConnectionString = "Provider=Microsoft.Jet." & "OLEDB.4.0;Data 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 Sub

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)

If KeyCode = 13 Then

Adodc1.Refresh

Adodc1.Recordset.Find "讀者編號 ='" & Text1.Text & "'"

If Adodc1.Recordset.EOF = True Then

   MsgBox "無此讀者編號", 借書

   Text2.Text = ""

   ……

      Adodc1.Refresh

   Exit Sub

   End If

Text2.Text = Adodc1.Recordset.Fields("姓名")

……

End If

End Sub

Private Sub Text16_KeyDown(KeyCode As Integer, Shift As Integer)

If KeyCode = 13 Then

Adodc2.Refresh

Adodc2.Recordset.Find "圖書編號 ='" & Text16.Text & "'"

If Adodc2.Recordset.EOF = True Then

   MsgBox "無此圖書編號", 借書

Text15.Text = ""

……

Adodc2.Refresh

   Exit Sub

End If

Text15.Text = Adodc2.Recordset.Fields("書名")

……

End If

End Sub

4.5圖書查詢

(a)界面設計:

(b)功能介紹:對圖書可根據不同的條件進行查詢(圖書編號、書名、作者、出版社)。

(c)代碼實現:

Private Sub Command1_Click()

Select Case combo1.ListIndex

Case 0

Adodc1.Recordset.Find "圖書編號 ='" & Text8.Text & "'"

If Adodc1.Recordset.EOF Then

Adodc1.Recordset.MoveFirst

Adodc1.Recordset.Find "圖書編號 ='" & Text8.Text & "'"

End If

Case 1  '書名采用模糊查詢

Adodc1.Recordset.Find "書名 like '*" & Text8.Text & "*'"

If Adodc1.Recordset.EOF Then

Adodc1.Recordset.MoveFirst

Adodc1.Recordset.Find "書名 like '*" & Text8.Text & "*'"

End If

……

End Select

End Sub

5.結束語

本程序嚴格按照軟件工程的設計流程,使用編程簡潔、面向對象的可視化編程語言Visual Basic 6.0,並結合MS ACCESS實現數據庫的操作。整個系統實現了一般圖書館系統中的功能。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved