第一篇:vb圖書管理系統源代碼
Borbook:
Public sqltxt As String Public rno As String
'保存讀者借書證號 Public bno As String
'保存讀者圖書編號 Public xm As String
'保存讀者姓名 Public dw As String
'保存讀者單位 Public rs As ADODB.Recordset
Private Sub Comm1_Click()
rno = Trim(Text1(0).Text)
If rno = “" Then
MsgBox ”借書證號不能為空,請輸入“, vbOKOnly, ”信息提示“
Comm2.Enabled = False
Else
sqltxt = ”select * from reader where 借書證號='“ + rno + ”'“
Set rs = exesql(sqltxt)
If rs.RecordCount = 0 Then
MsgBox ”該讀者未登記,不能借書“, vbOKOnly, ”信息提示“
Comm2.Enabled = False
Else
Text2(0).Text = rs.Fields(”姓名“)
Text2(1).Text = str(rs.Fields(”借書總數“))
Text2(2).Text = str(rs.Fields(”借書總數“)rs.Fields(”已借書數“))
End If
End If
End If End Sub
Private Sub retCom_Click()
Unload Me End Sub
Private Sub Form_Load()
Comm2.Enabled = False End Sub
Edbook:
Private Sub DataGrid1_Click()
End Sub
Private Sub Form_Load()
'說明:為什么使用recs,而不直接使用adodc1.recordset.recordcount?在調用edbook1窗體添加一個記錄(確定)后,再
'返回到本表單,若不在Form_Activate()事件過程中調用adodc1.refresh進行刷新,adodc1.recordset.recordcount值
'仍未增1,這樣調用encomm過程時出錯;若在Form_Activate()事件過程中調用adodc1.refresh進行刷新,'adodc1.recordset.recordcount值增1了,調用encomm過程時也正確,但返回本窗體時,當前行總是第一行,顯然也不行,'因為用戶在添加或修改后希望在datagrid1中顯示當前操作的那條記錄.recs = Adodc1.Recordset.RecordCount End Sub
Private Sub Form_Activate()
DataGrid1.SetFocus
Call encomm End Sub
Private Sub Comm1_Click()
flag = 1
edbook1.Show vbModal End Sub
Private Sub Comm2_Click()
flag = 2
edbook1.Show vbModal End Sub
Private Sub Comm3_Click()
If MsgBox(”真的要刪除[“ + Trim(Adodc1.Recordset.Fields(”書名“))+ ”]嗎?“, vbYesNo, ”信息提示“)= vbYes Then
Adodc1.Recordset.Delete
recs = recs1
Call encomm
End If End Sub
Private Sub Comm4_Click()
Unload Me End Sub
Private Sub encomm()
If recs = 0 Then
Comm2.Enabled = False
Comm3.Enabled = False
Else
Comm2.Enabled = True
Comm3.Enabled = True
End If End Sub
Edlev1:
Dim cond As String
Private Sub Form_Load()
If flag = 2 Then
Text1(0).Text = edlev.Adodc1.Recordset.Fields(”級別“)
Text1(1).Text = edlev.Adodc1.Recordset.Fields(”過期罰款“)
Text1(2).Text = edlev.Adodc1.Recordset.Fields(”借書總數“)
Text1(3).Text = edlev.Adodc1.Recordset.Fields(”借書天數“)
End If End Sub
Private Sub Comm1_Click()
If Trim(Text1(0).Text)= ”“ Or Trim(Text1(1).Text)= ”“ Or Trim(Text1(2).Text)= ”“ Or _
Trim(Text1(3).Text)= ”“ Then
MsgBox ”數據項不全,請重新設置“, vbOKOnly, ”信息提示“
Text1(0).SetFocus
Exit Sub
End If
If flag = 1 Then '添加操作
If edlev.Adodc1.Recordset.RecordCount > 0 Then '原記錄個數大于0
cond = ”級別='“ + Trim(Text1(0).Text)+ ”'“
edlev.Adodc1.Recordset.MoveFirst
'每次從頭開始查找
edlev.Adodc1.Recordset.Find(cond)
If Not edlev.Adodc1.Recordset.EOF()Then
MsgBox ”存在完全相同的記錄“, vbOKOnly, ”信息提示“
Text1(0).SetFocus
Exit Sub
End If
End If
edlev.Adodc1.Recordset.AddNew
edlev.Adodc1.Recordset.Fields(”級別“)= Trim(Text1(0).Text)
edlev.Adodc1.Recordset.Fields(”過期罰款“)= Val(Trim(Text1(1).Text))
edlev.Adodc1.Recordset.Fields(”借書總數“)= Val(Trim(Text1(2).Text))
edlev.Adodc1.Recordset.Fields(”借書天數“)= Val(Trim(Text1(3).Text))
edlev.Adodc1.Recordset.Update
recs = recs + 1
Else
'修改操作
n = edlev.Adodc1.Recordset.AbsolutePosition
cond = ”級別='“ + Trim(Text1(0).Text)+ ”'“
edlev.Adodc1.Recordset.MoveFirst '每次從頭開始查找
edlev.Adodc1.Recordset.Find(cond)
If Not edlev.Adodc1.Recordset.EOF()And edlev.Adodc1.Recordset.AbsolutePosition <> n Then
MsgBox ”存在完全相同的記錄“, vbOKOnly, ”信息提示“
edlev.Adodc1.Recordset.MoveFirst
'這兩個語句恢復原記錄位置
edlev.Adodc1.Recordset.Move(n1)
edlev.Adodc1.Recordset.Fields(”級別“)= Trim(Text1(0).Text)
edlev.Adodc1.Recordset.Fields(”過期罰款“)= Val(Trim(Text1(1).Text))
edlev.Adodc1.Recordset.Fields(”借書總數“)= Val(Trim(Text1(2).Text))
edlev.Adodc1.Recordset.Fields(”借書天數“)= Val(Trim(Text1(3).Text))
edlev.Adodc1.Recordset.Update
End If
Unload Me End Sub
Private Sub Comm2_Click()
Unload Me End Sub
Edreader:
Private Sub DataGrid1_Click()
End Sub
Private Sub Form_Load()
recs = Adodc1.Recordset.RecordCount End Sub
Private Sub Form_Activate()
DataGrid1.SetFocus
Call encomm End Sub
Private Sub Comm1_Click()
flag = 1
edreader1.Show vbModal End Sub
Private Sub Comm2_Click()
flag = 2
edreader1.Show vbModal End Sub
Private Sub Comm3_Click()
If MsgBox(”真的要刪除[“ + Trim(Adodc1.Recordset.Fields(”姓名“))+ ”]嗎?“, vbYesNo, ”信息提示“)= vbYes Then
Adodc1.Recordset.Delete
recs = recs1
Call encomm
End If End Sub Private Sub Comm4_Click()
Adodc1.Recordset.UpdateBatch
Adodc1.Recordset.Close
Unload Me End Sub Private Sub encomm()
If recs = 0 Then
Comm2.Enabled = False
Comm3.Enabled = False
Else
Comm2.Enabled = True
Comm3.Enabled = True
End If End Sub
Edrec1:
Dim cond As String
Private Sub Form_Load()
Label1.Caption = cap
If flag = 1 Then
Text1.Text = ”“
Else
Text1.Text = edrec.Adodc1.Recordset.Fields(”fn“)
End If End Sub
Private Sub Comm1_Click()
If Trim(Text1.Text)= ”“ Then
MsgBox ”數據項不能為空,請重新設置“, vbOKOnly, ”信息提示“
Text1.SetFocus
Exit Sub
End If
If flag = 1 Then '添加操作
If edrec.Adodc1.Recordset.RecordCount > 0 Then '原記錄個數大于0
cond = ”fn='“ + Trim(Text1.Text)+ ”'“
edrec.Adodc1.Recordset.MoveFirst
'每次從頭開始查找
edrec.Adodc1.Recordset.Find(cond)
If Not edrec.Adodc1.Recordset.EOF()Then
MsgBox ”存在完全相同的記錄“, vbOKOnly, ”信息提示“
Text1.SetFocus
Exit Sub
End If
End If
edrec.Adodc1.Recordset.AddNew
edrec.Adodc1.Recordset.Fields(”fn“)= Trim(Text1.Text)
edrec.Adodc1.Recordset.Update
recs = recs + 1
Else
'修改操作
n = edrec.Adodc1.Recordset.AbsolutePosition
cond = ”fn='“ + Trim(Text1.Text)+ ”'“
edrec.Adodc1.Recordset.MoveFirst '每次從頭開始查找
edrec.Adodc1.Recordset.Find(cond)
If Not edrec.Adodc1.Recordset.EOF()And edrec.Adodc1.Recordset.AbsolutePosition <> n Then
MsgBox ”存在完全相同的記錄“, vbOKOnly, ”信息提示“
edrec.Adodc1.Recordset.MoveFirst
'這兩個語句恢復原記錄位置
edrec.Adodc1.Recordset.Move(n1)
edrec.Adodc1.Recordset.Fields(”fn“)= Trim(Text1.Text)
edrec.Adodc1.Recordset.Update
End If
Unload Me End Sub
Private Sub Comm2_Click()
Unload Me End Sub
Menu:
Private Sub MDIForm_Load()
If Not userlevel = ”系統管理員“ Then
menu21.Enabled = False
menu31.Enabled = False
menu41.Enabled = False
menu42.Enabled = False
End If End Sub
Private Sub menu11_Click()
borbook.Show vbModal End Sub
Private Sub menu12_Click()
retbook.Show vbModal End Sub
Private Sub menu13_Click()
End End Sub
Private Sub menu21_Click()
edbook.Show vbModal End Sub
Private Sub menu22_Click()
qubook.Show vbModal End Sub
Private Sub menu31_Click()
edreader.Show vbModal End Sub
Private Sub menu32_Click()
qureader.Show vbModal End Sub
Private Sub menu41_Click()
setuser.Show vbModal End Sub
Private Sub menu42_Click()
If MsgBox(”本功能要清除系統中所有數據,真的初始化嗎?“, vbYesNo, ”確認初始化操作“)
= vbYes Then
Call deldata(”book“)Call deldata(”reader“)Call deldata(”borrow“)Call deldata(”rlevel“)
Call deldata(”depart“)
Call deldata(”press“)
Call deldata(”oper“)
MsgBox ”系統初始化完畢,下次只能以1234/1234(用戶名/口令)進入本系統“, vbOKOnly, ”信息提示“
End If End Sub
Pass:
Public n As Integer
Private Sub Command1_Click()
Dim mrc As ADODB.Recordset
txtsql = ”select * from oper where 用戶名='“ & _
Trim$(Text1(0).Text)& ”'“ & ” And 口令 = '“ & Trim$(Text1(1).Text)+ ”'“
Set mrc = exesql(txtsql)
If mrc.RecordCount = 0 Then '未找到用戶記錄
n = n + 1
If n < 3 Then
MsgBox ”沒有這個用戶,繼續登錄“, vbOKOnly + vbExclamation, ”信息提示“
Text1(0).Text = ”“
Text1(1).Text = ”“
Text1(0).SetFocus
Else
MsgBox ”已登錄失敗三次,退出系統“, vbOKOnly + vbExclamation, ”信息提示“
mrc.Close
Unload Me
End If
Else
'找到合法用戶記錄
userlevel = Trim(mrc.Fields(”級別“))
mrc.Close
Unload Me
menu.Show '調用menu窗體
End If End Sub
Private Sub Command2_Click()
Unload Me End Sub
Private Sub Form_Load()
n = 0
'n保存登錄的次數 End Sub
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
Call endata(KeyAscii)End Sub
Qubook:
Private Sub Comm1_Click()
Dim sqltxt As String
If Adodc1.Recordset.Fields(”借否“)= ”借“ Then
no = Trim(Adodc1.Recordset.Fields(”圖書編號“))
sqltxt = ”select * from borrow where 圖書編號='“ + no + ”'“
Set rs = exesql(sqltxt)
If rs.RecordCount = 0 Then
MsgBox ”該圖書沒有借書記錄“, vbOKOnly, ”信息提示“
Else
MsgBox ”圖書編號:“ + no + Chr(10)+ Chr(13)+ _
”書
名:“ + Trim(rs.Fields(”書名“))+ Chr(10)+ Chr(13)+ _
”借 書 人:“ + Trim(rs.Fields(”姓名“))+ Chr(10)+ Chr(13)+ _
”單
位:“ + Trim(rs.Fields(”單位“))+ Chr(10)+ Chr(13)+ _
”借書日期:“ + Format(rs.Fields(”借書日期“), ”yyyy.mm.dd“), vbOKOnly, ”查找結果“
End If
rs.Close
Else
MsgBox ”該書沒有外借,不能顯示借書人“, vbOKOnly, ”信息提示“
End If End Sub
Private Sub Comm2_Click()
Unload Me End Sub
Private Sub Form_Activate()
Adodc1.Refresh
DataGrid1.Refresh
DataGrid1.SetFocus
Call encomm End Sub
Private Sub selcmd1_Click()'設置條件確定
Dim str As String
str = ”“
'條件表達式
If Trim(Text1(0).Text)<> ”“ Then
If str = ”“ Then
str = ”圖書編號='“ + Trim(Text1(0).Text)+ ”'“
Else
str = str + ” and 圖書編號='“ + Trim(Text1(0).Text)+ ”'“
End If
End If
If Trim(Text1(1).Text)<> ”“ Then
If str = ”“ Then
str = ”書名='“ + Trim(Text1(1).Text)+ ”'“
Else
str = str + ” and 書名='“ + Trim(Text1(1).Text)+ ”'“
End If
End If
If Trim(Text1(2).Text)<> ”“ Then
If str = ”“ Then
str = ”作者='“ + Trim(Text1(2).Text)+ ”'“
Else
str = str + ” and 作者='“ + Trim(Text1(2).Text)+ ”'“
End If
End If
If Trim(Text1(3).Text)<> ”“ Then
If str = ”“ Then
str = ”出版社='“ + Trim(Text1(3).Text)+ ”'“
Else
str = str + ” and 出版社='“ + Trim(Text1(3).Text)+ ”'“
End If
End If
If Trim(Text1(4).Text)<> ”“ Then
If str = ”“ Then
str = ”借否='“ + Trim(Text1(4).Text)+ ”'“
Else
str = str + ” and 借否='“ + Trim(Text1(4).Text)+ ”'“
End If
End If
If Trim(Text1(5).Text)<> ”“ Then
If str = ”“ Then
str = ”定價=“ + Trim(Text1(5).Text)
Else
str = str + ” and 定價=“ + Trim(Text1(5).Text)
End If
End If
If str <> ”“ Then
Adodc1.RecordSource = ”select * from book where “ + str
Adodc1.Refresh
Else
Adodc1.RecordSource = ”select * from book“
Adodc1.Refresh
End If
If Adodc1.Recordset.RecordCount = 0 Then
MsgBox ”沒有任何滿足條件的記錄“, vbOKOnly, ”信息提示“
End If
Call encomm End Sub
Private Sub selcmd2_Click()'設置條件重置
Text1(0).Text = ”“
Text1(1).Text = ”“
Text1(2).Text = ”“
Text1(3).Text = ”“
Text1(4).Text = ”“
Text1(5).Text = ”“ End Sub
Private Sub encomm()'自定義子過程:判斷Adodc1中是否存在記錄
If Adodc1.Recordset.RecordCount = 0 Then
Comm1.Enabled = False
Else
Comm1.Enabled = True
End If End Sub
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
Call endata(KeyAscii)End Sub
Qureader:
Private Sub Comm1_Click()
Dim strn As String
Dim sqltxt As String
no = Trim(Adodc1.Recordset.Fields(”借書證號“))
sqltxt = ”select * from borrow where 借書證號='“ + no + ”'“
Set rs = exesql(sqltxt)
If rs.RecordCount = 0 Then
MsgBox ”該讀者沒有借任何圖書“, vbOKOnly, ”信息提示“
Else
rs.MoveFirst
strn = ”書
名(借書日期)“ + Chr(10)+ Chr(13)
Do While Not rs.EOF()
strn = strn & Trim(rs.Fields(”書名“))& ”(“ & Format(rs.Fields(”借書日期“), ”yyyy.mm.dd“)& ”)“ + Chr(10)+ Chr(13)
rs.MoveNext
Loop
MsgBox strn, vbOKOnly, ”列所借圖書清單“
rs.Close
End If End Sub
Private Sub Comm2_Click()
Unload Me End Sub
Private Sub Form_Activate()
Adodc1.Refresh
DataGrid1.Refresh
DataGrid1.SetFocus
Call encomm End Sub
Private Sub selcmd1_Click()'設置條件確定
Dim str As String
str = ”“
'條件表達式
If Trim(Text1(0).Text)<> ”“ Then
If str = ”“ Then
str = ”借書證號='“ + Trim(Text1(0).Text)+ ”'“
Else
str = str + ” and 借書證號='“ + Trim(Text1(0).Text)+ ”'“
End If
End If
If Trim(Text1(1).Text)<> ”“ Then
If str = ”“ Then
str = ”姓名='“ + Trim(Text1(1).Text)+ ”'“
Else
str = str + ” and 姓名='“ + Trim(Text1(1).Text)+ ”'“
End If
End If
If Trim(Text1(2).Text)<> ”“ Then
If str = ”“ Then
str = ”單位='“ + Trim(Text1(2).Text)+ ”'“
Else
str = str + ” and 單位='“ + Trim(Text1(2).Text)+ ”'“
End If
End If
If Trim(Text1(3).Text)<> ”“ Then
If str = ”“ Then
str = ”級別='“ + Trim(Text1(3).Text)+ ”'“
Else
str = str + ” and 級別='“ + Trim(Text1(3).Text)+ ”'“
End If
End If
If Trim(Text1(4).Text)<> ”“ Then
If str = ”“ Then
str = ”性別='“ + Trim(Text1(4).Text)+ ”'“
Else
str = str + ” and 性別='“ + Trim(Text1(4).Text)+ ”'“
End If
End If
If str <> ”“ Then
Adodc1.RecordSource = ”select * from reader where “ + str
Adodc1.Refresh
Else
Adodc1.RecordSource = ”select * from reader“
Adodc1.Refresh
End If
If Adodc1.Recordset.RecordCount = 0 Then
MsgBox ”沒有任何滿足條件的記錄“, vbOKOnly, ”信息提示“
End If
Call encomm End Sub
Private Sub selcmd2_Click()'設置條件重置
Text1(0).Text = ”“
Text1(1).Text = ”“
Text1(2).Text = ”“
Text1(3).Text = ”“
Text1(4).Text = ”“ End Sub
Private Sub encomm()'自定義子過程:判斷Adodc1中是否存在記錄
If Adodc1.Recordset.RecordCount = 0 Then
Comm1.Enabled = False
Else
Comm1.Enabled = True
End If End Sub
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
Call endata(KeyAscii)End Sub
Retbook:
Public rno As String Public bno As String
Private Sub Comm1_Click()
bno = Trim(Text1.Text)
If bno <> ”“ Then
Dim sqltxt As String
sqltxt = ”select * from borrow where 圖書編號='“ + bno + ”'“
Set brs = exesql(sqltxt)
If brs.RecordCount = 0 Then
MsgBox ”該書不是從本圖書館所借的,不能歸還!“, vbOKOnly, ”信息提示“
Else
If Trim(brs.Fields(”借書證號“))<> rno Then
If rno <> ”“ Then
'另一讀者還書,自動列出上一個還書人的罰款單
dstr = ”罰款單“ + Chr(10)+ Chr(13)
dstr = dstr & ”姓名:“ & Trim(Text2(1).Text)+ ”(“ + rno + ”)罰款總額:“ & str(Text2(4).Text)& ”元“
MsgBox dstr, vbOKOnly, ”列罰款單“
End If
rno = Trim(brs.Fields(”借書證號“))
sqltxt = ”select * from book where 圖書編號='“ + bno + ”'“ '處理圖書記錄
Set bs = exesql(sqltxt)
bs.Fields(”借否“)= ”否“
bs.Update
sqltxt = ”select * from reader where 借書證號='“ + rno + ”'“ '處理讀者記錄
Set rs = exesql(sqltxt)
rs.Fields(”已借書數“)= rs.Fields(”已借書數“)rs.Fields(”已借書數“)
If(Datebrs.Fields(”借書日期“)1
rs.Update
If(Datebrs.Fields(”借書日期“)1
Call encomm
End If End Sub
Private Sub Comm4_Click()
Unload Me End Sub
Private Sub encomm()
If recs = 0 Then
Comm2.Enabled = False
Comm3.Enabled = False
Else
Comm2.Enabled = True
Comm3.Enabled = True
End If End Sub
Setuser1:
Dim cond As String
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys ”{TAB}“
End If End Sub
Private Sub Form_Load()
If flag = 2 Then
Text1(0).Text = setuser.Adodc1.Recordset.Fields(”用戶名“)
Text1(1).Text = setuser.Adodc1.Recordset.Fields(”口令“)
Combo1.Text = setuser.Adodc1.Recordset.Fields(”級別“)
End If End Sub
Private Sub Comm1_Click()
If Trim(Text1(0).Text)= ”“ Or Trim(Text1(1).Text)= ”“ Or Trim(Combo1.Text)= ”“ Then
MsgBox ”數據項不全,請重新設置“, vbOKOnly, ”信息提示“
Text1(0).SetFocus
Exit Sub
End If
If flag = 1 Then '添加操作
If setuser.Adodc1.Recordset.RecordCount > 0 Then '原記錄個數大于0
cond = ”級別='“ + Trim(Text1(0).Text)+ ”'“
setuser.Adodc1.Recordset.MoveFirst
'每次從頭開始查找
setuser.Adodc1.Recordset.Find(cond)
If Not setuser.Adodc1.Recordset.EOF()Then
MsgBox ”存在完全相同的記錄“, vbOKOnly, ”信息提示“
Text1(0).SetFocus
Exit Sub
End If
End If
setuser.Adodc1.Recordset.AddNew
setuser.Adodc1.Recordset.Fields(”用戶名“)= Trim(Text1(0).Text)
setuser.Adodc1.Recordset.Fields(”口令“)= Val(Trim(Text1(1).Text))
setuser.Adodc1.Recordset.Fields(”級別“)= Trim(Combo1.Text)
setuser.Adodc1.Recordset.Update
recs = recs + 1
Else
'修改操作
n = setuser.Adodc1.Recordset.AbsolutePosition
cond = ”級別='“ + Trim(Text1(0).Text)+ ”'“
setuser.Adodc1.Recordset.MoveFirst '每次從頭開始查找
setuser.Adodc1.Recordset.Find(cond)
If Not setuser.Adodc1.Recordset.EOF()And setuser.Adodc1.Recordset.AbsolutePosition <> n Then
MsgBox ”存在完全相同的記錄“, vbOKOnly, ”信息提示“
setuser.Adodc1.Recordset.MoveFirst
'這兩個語句恢復原記錄位置
setuser.Adodc1.Recordset.Move(n1)
setuser.Adodc1.Recordset.Fields(”用戶名“)= Trim(Text1(0).Text)
setuser.Adodc1.Recordset.Fields(”口令“)= Val(Trim(Text1(1).Text))
setuser.Adodc1.Recordset.Fields(”級別“)= Trim(Combo1.Text)
setuser.Adodc1.Recordset.Update
End If
Unload Me End Sub
Private Sub Comm2_Click()
Unload Me End Sub
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
Call endata(KeyAscii)End Sub
模塊:
Public userlevel As String '保存用戶級別
Public flag As Integer
'用作記錄操作標記
Public tna As String
'保存表名:用于調用edrec1窗體 Public cap As String
'保存標題名:用于調用edrec1窗體 Public recs As Integer
'保存記錄集中記錄個數
Sub main()
pass.Show vbModal End Sub
Public Function exesql(ByVal sql As String)As ADODB.Recordset
sql = Trim$(sql)
Set conn = New ADODB.Connection
Set rst = New ADODB.Recordset
conn.ConnectionString = ”DSN=Library;UID=sa;PWD=;“
conn.Open
Set rst.ActiveConnection = conn
rst.LockType = adLockOptimistic
rst.CursorType = adOpenKeyset
rst.Open sql
Set exesql = rst
Set rst = Nothing
Set conn = Nothing End Function
Public Sub deldata(ByVal tn As String)刪除指定表中所有記錄,對于oper表添加一個系統用戶
Dim sql As String
sql = ”delete “ & Trim$(tn)
Set conn = New ADODB.Connection
conn.ConnectionString = ”DSN=Library;UID=sa;PWD=;“
conn.Open
conn.Execute sql
If Trim(tn)= ”oper“ Then
sql = ”insert oper values('1234','1234','系統管理員')“
conn.Execute sql
End If
conn.Close End Sub Public Sub endata(Keyasc As Integer)
If Keyasc = 13 Then
SendKeys ”{TAB}" '將回車鍵轉換成Tab鍵
End If End Sub
第二篇:圖書管理系統源代碼
環植學院深入開展創先爭優活動實施方案
為貫徹落實中共中央、海南省委、省委教育工委及學校黨委“關于在黨的基層組織和黨員中深入開展創先爭優活動”的決定,根據相關文件精神,結合我院實際,特制定如下實施方案。
一、總體要求
根據上級黨組織要求,以鄧小平理論和“三個代表”重要思想為指導,以深入學習實踐科學發展觀、實現海南大學又好又快發展為主題,以加快“211工程”建設、促進新海大轉型升級為載體,以樹立優良校風學風和立足崗位奉獻為重點,堅持服務學校教學科研和建設發展大局,振奮精神,改革創新,講求實效,統籌推進黨的建設及其他經常性工作,充分發揮基層黨組織的戰斗堡壘作用和共產黨員的先鋒模范作用,在推動科學發展、構建和諧校園、服務師生員工、加強基層組織以及服務海南國際旅游島建設的實踐中建功立業。
通過開展創先爭優活動,整體提高學院各級黨組織和黨員隊伍建設水平,樹立一批充分發揮戰斗堡壘作用、先鋒模范作用的先進黨支部和優秀共產黨員,為學校順利完成“211工程”項目建設、實現轉型升級,進而更好地服務海南國際旅游島建設提供堅強的政治保證和組織保證。
二、主要內容
創先爭優活動的主要內容:創建先進基層黨組織、爭當優秀共產黨員。
1、先進基層黨組織的基本要求:建設學習型黨組織,努力做到“五個好”: 一是領導班子好。深入學習實踐科學發展觀,全面貫徹黨的教育方針,認真落實黨建工作責任制,團結協作,求真務實,勤政廉潔,有較強的凝聚力、戰斗力和創造力。二是黨員隊伍好。重視教職工黨員的發展和教育,黨員素質優良、黨員意識較強、精神面貌良好,切實發揮先鋒模范作用。三是工作機制好。圍繞學院改革發展開展形式多樣黨建活動,規章制度健全完善,管理措施到位,長效機制建立務實有效。四是工作業績好。在開展“211工程”項目建設、深化教育教學改革、推進學校各項事業中強化黨的政治領導,圍繞中心、服務大局,解決問題、促進發展,改革創新、成效明顯。五是群眾反映好。尊重愛護師生,為師生辦實事;工作措施符合師生意愿,工作作風和工作實績師生滿意度高,黨組織得到師生擁護,黨群干群關系密切。
學生黨支部主要突出“三個好”:黨員培育好。能積極、有效做好大學生黨員的發展、教育和管理工作,引導廣大學生樹立堅定的共產主義理想和信念;組織活動好。經常組織開展健康向上、豐富多樣的支部活動,支部建設充滿活力;發揮作用好。能較好地發揮支部的戰斗堡壘作用,以黨建帶團建,以黨建促進其他學生組織的健康發展和優良學風、班風、校風的形成,維護校園安全穩定,在學生中具有較強的感召力。
2、優秀共產黨員的基本要求:模范履行黨章規定的義務,努力爭當“五個模范”。教工黨員要爭當:(1)學習鉆研的模范。認真學習實踐科學發展觀,刻苦鉆研業務知識,努力提高自身的黨性修養和能力水平,成為熱愛學習、學會學習和終身學習的楷模;(2)崗位奉獻的模范。忠誠于黨的教育事業,具有強烈的事業心、責任感,愛崗敬業,勇挑重擔,在教學、科研、管理或服務崗位上做出顯著業績;(3)為人師表的模范。養成求真務實和嚴謹自律的治學態度,樹立高尚的道德情操和精神追求,教書育人、管理育人、服務育人,言傳身教,甘為人梯,以大德樹良師形象;(4)團結協作的模范。熱愛集體,服務師生,團結友愛,堅決維護集體榮譽。樹立大局意識和團隊精神,以團隊協作爭創教學、科研的高層次成果,提升單位的整體管理、服務水平;(5)遵紀守法的模范。自覺遵守黨的紀律,帶頭遵守國家法律法規及學校各項規章制度,堅持原則,弘揚正氣,敢于同不良風氣、違紀違法行為作斗爭。
學生黨員要爭當努力學習的模范、實踐創新的模范、自強自立的模范、尊師愛友的模范、遵紀守法的模范,努力使自己成為志向遠大、品德高尚、知識豐富、能力較強的高素質的優秀學生。
三、方法步驟
按照上級組織要求,創先爭優活動通過公開承諾、領導點評、群眾評議、評選表彰的方式,圍繞迎接建黨90周年、向黨的十八大獻禮兩個重大節點推進展開。本次活動期間跨度2010-2012年的三個學年、六個學期。整個活動分四個步驟進行。
(一)動員部署、學習準備階段(2010年4月—6月底)。主要抓好四項工作:
1、動員部署。學院黨委召開動員大會,進行工作部署。
2、制定方案。學院黨委圍繞學校創先爭優活動的主題、載體、重點和總體要求,從本單位實際情況出發,制定切實可行的活動實施方案;黨員要圍繞黨性修養、作風養成、履行職責、崗位奉獻等方面提出參加活動的具體打算。學院黨委、黨支部的活動方案和黨員個人的具體打算要采取會議、網絡、活動專欄等方式向群眾公布,重點做出承-2-
諾,接受群眾監督。
3、組織學習。各黨支部組織黨員認真學習胡錦濤總書記在全黨深入學習實踐科學發展觀活動總結大會上的重要講話及學校相關文件精神,統一思想認識,積極投入到創先爭優活動中來。
4、黨性分析。各黨支部在2010年春季學期結束前,集中一周時間,組織黨員進行一次黨性分析,在職黨員應撰寫黨性分析報告,并組織群眾對黨員進行評議。
(二)全面創爭、扎實推進階段(2010年9月—2011年6月底)。學院黨委、黨支部和黨員根據實施方案和個人具體打算,緊密結合實際工作,認真扎實、機動靈活地開展創先爭優活動。具體圍繞幾項主題活動展開:
1、“師德教育”活動。在教師節前后,對教職工黨員普遍進行師德師風教育,對學生黨員進行優良校風學風教育,促使一批優秀共產黨員成為“三育人”標兵、師德標兵或學生標兵。
2、“崗位奉獻”活動。從新學期開學開始,配合學校開展“211”建設先鋒、新海大創建標兵、海大之星等推選評比活動。
3、“服務群眾”活動。各黨支部組織黨員走向基層、走向社會,開展志愿服務、結對幫扶、走訪慰問等活動;合理利用寒暑假時間,搞好調查研究和社會服務,使黨員在聯系基層、奉獻社會的過程中增強責任感、使命感。
4、“亮牌示范”活動。通過設置黨員先鋒崗、示范崗或掛牌上崗等形式,樹立黨員形象,促使黨員發揮骨干、先鋒模范作用。
5、“強基創先”活動。優化組織設置,創新組織形式和活動方式,加強黨組織班子、制度建設,強化組織功能,推動創新發展,真正發揮學院黨組織的政治保證、戰斗堡壘作用,努力提高學院黨組織建設的科學化水平。
2011年“七一”前,向學校黨委推薦表彰先進黨組織、優秀共產黨員和優秀黨務工作者。
(三)典型帶動、全面提升階段(2011年9月—2012年6月底)。充分發揮先進典型的示范帶動作用,全面提升活動的整體工作水平。主要抓好三項工作:
1、樹立先進典型。學校將確定一批“五個好”先進基層黨組織和“五個模范”優秀黨員、優秀黨務工作者,采取組織先進典型報告會、觀摩學習、宣傳報道等形式,擴大先進典型影響力。
2、開展向先進典型學習活動。各黨支部和全體黨員,都要對照先進典型,對照目標要求和崗位職責,查找自身差距,明確努力方向,制定跟進、趕超的具體措施。
3、實施全面提升工程。對照總體要求,著眼全面提升,進一步加強黨組織建設,促進提升“五個好”先進基層黨組織和“五個模范”優秀黨員、優秀黨務工作者的比例。
2012年“七一”前,學校將根據上級組織部署,推薦表彰“2010—2012年創先爭優活動”先進基層黨組織、優秀共產黨員、優秀黨務工作者。
(四)回顧總結、完善機制階段(2012年9月——黨的十八大召開前)。圍繞向黨的十八大獻禮,這一階段重點抓好四項工作:
1、展示成果。配合學校開展集中展示活動成果活動。
2、搞好總結。學院黨委對開展創先爭優活動進行系統總結,認真總結經驗、查找不足,進一步研究制定改進措施。
3、考核評議。學校黨委對學院黨委、黨支部、黨員開展創先爭優活動情況進行考核,并采取適當方式組織黨員、群眾進行評議。
4、完善機制。對開展創先爭優活動中行之有效的科學做法用制度的形式固定下來,形成創先爭優的長效機制。
四、組織領導
學院成立創先爭優活動領導小組,在校黨委指導、院黨委領導下開展具體工作。各黨支部為活動的落實單位,負責具體的學習、黨內分析、主題活動、總結評議等工作。
1、領導小組成員包括:組長:沈秀清;副組長:崔昌華;成員:全體黨委委員、綜合辦主任、各黨支部書記。
2、按照校黨委的要求,學院創先爭優活動要堅持服務大局,圍繞科教中心工作、密切聯系群眾、經常性為主的原則,并努力形成學習先進、崇尚先進、爭當先進的活動氛圍和風氣。
3、各黨支部要組織好各項具體工作,結合實際,力求實效,以創先爭優活動的成果推進學院黨的建設和各項工作,促進學院又好又快發展。
環境與植物保護學院黨委
2010年5月31日
第三篇:VB圖書管理系統
圖書管理系統的設計與實現
目錄
一、序言······················································································································4
二、需求分析說明書 ····································································································4 2.1系統介紹..................................................................................................................................................4 2.2系統面向的用戶群體..............................................................................................................................4 2.3系統的功能性需求..................................................................................................................................4 2.4系統的非功能性需求..............................................................................................................................5 2.4.1用戶界面需求...................................................................................................................................5 2.4.2軟硬件環境需求...............................................................................................................................5 2.4.3軟件質量需求...................................................................................................................................5
三、可行性分析報告 ····································································································5 3.1技術可行性..............................................................................................................................................5 3.2人員可能性..............................................................................................................................................5 3.3時間、設備可能性..................................................................................................................................5 3.4系統工作量..............................................................................................................................................5 3.5代碼工作量..............................................................................................................................................5 3.6文檔要求..................................................................................................................................................5
四、開發環境與項目規劃 ·····························································································5 4.1開發環境..................................................................................................................................................5 4.2項目規劃與管理......................................................................................................................................5 4.2.1開發人員安排...................................................................................................................................5 4.2.2開發進度安排...................................................................................................................................6
五、軟件界面設計標準與規范 ······················································································6 5.1編寫目的..................................................................................................................................................6 5.2界面設計思想..........................................................................................................................................6 5.3界面設計原則..........................................................................................................................................6 5.4界面設計樣式..........................................................................................................................................6 5.5常見提示信息樣式..................................................................................................................................6 5.6常見錯誤信息樣式..................................................................................................................................7 5.7其他界面約定..........................................................................................................................................7
六、軟件編碼設計標準與規范 ······················································································7 6.1對象命名約定..........................................................................................................................................7 6.2常量和變量命名約定..............................................................................................................................8 6.3結構化編碼約定......................................................................................................................................8 6.4數據源的約定..........................................................................................................................................9 6.5數據庫訪問約定......................................................................................................................................9 6.6其他約定..................................................................................................................................................9
七、數據庫分析與設計·································································································10 7.1數據庫環境說明.......................................................................................................................................10 7.2數據庫命名標準與規范...........................................................................................................................10 7.3數據庫邏輯設計.......................................................................................................................................10 7.4數據庫物理設計.......................................................................................................................................10 7.4.1表、視圖匯總...................................................................................................................................10 7.4.2各表、視圖設計詳解.......................................................................................................................11
八、軟件體系結構設計說明書 ······················································································15 8.1系統概述..................................................................................................................................................15 8.2設計約束..................................................................................................................................................15 8.3設計策略..................................................................................................................................................15 8.4系統概要設計說明書..............................................................................................................................16 8.4.1圖例說明...........................................................................................................................................16 8.4.2系統總體結構圖...............................................................................................................................16 8.5系統詳細設計說明書..............................................................................................................................17 8.5.1系統模塊匯總...................................................................................................................................17 8.5.2系統核心模塊詳解...........................................................................................................................18 8.5.3系統模塊詳解...................................................................................................................................28
九、用戶界面設計報告·································································································42 9.1界面設計規范..........................................................................................................................................42 9.2系統窗體匯總..........................................................................................................................................42 9.3主界面設計..............................................................................................................................................43 9.4子界面設計..............................................................................................................................................43 9.5界面資源設計..........................................................................................................................................44
十、軟件測試分析報告·································································································44 10.1測試范圍與主要內容............................................................................................................................44 10.2測試方法................................................................................................................................................44 10.3測試報告................................................................................................................................................44 10.4改進建議與措施....................................................................................................................................45
十一、軟件使用說明書·································································································45 11.1軟件概述.................................................................................................................................................45 11.2使用說明.................................................................................................................................................45 11.2.1系統登陸..........................................................................................................................................45 11.2.2系統退出..........................................................................................................................................46 11.2.3圖書類別管理..................................................................................................................................46 11.2.4圖書信息管理..................................................................................................................................48 11.2.5查詢圖書信息..................................................................................................................................48 11.2.6讀者類別管理..................................................................................................................................49 11.2.7讀者信息管理..................................................................................................................................49 11.2.8查詢讀者信息..................................................................................................................................50 11.2.9借書管理..........................................................................................................................................50 11.2.10還書管理........................................................................................................................................50 參考資料······················································································································51
一、序言
圖書管理系統的設計與推出是多方面原因促成的,比如學校的圖書管理,日常管理工作 1 都是人工操作,歷史數據很難保存和利用。而其他的小型圖書館大多如此。針對這種狀況,我計劃開發一個面向小型圖書館的圖書管理系統,實現對人員、物流的全面管理,以幫助這些圖書館早日實現書店管理信息化。
為了系統的順利開發和維護,特編制如下技術文檔:
想要全部 請加QQ:76536415 專業設計 畢業論文
第四篇:圖書管理系統數據庫源代碼
圖書管理系統數據庫源代碼
//創建工程及設計主界面
public class Main extends JFrame { private static final JDesktopPane {
DESKTOP_PANE=new JDesktopPane();
//桌面窗體
} public static void main(String[] args)
//入口方法
{
try
{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());//設置系統界面外觀
new BookLogin();
//登錄窗口
}
catch(Exception ex)
{
ex.printStackTrace();
} } public static void addIFame(JInternalFrame iframe)
//添加子窗體的方法
{
DESKTOP_PANE.add(iframe);
//新增子窗體
} public Main(){
super();
//設置“關閉”按鈕處理事件
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
//創建工具欄
Toolkit tool=Toolkit,getDefaultToolkit();
//獲得屏幕大小
Dimension screenSize=tool.getScreenSize();
setSize(800,600);
//設置窗體大小
setLocation((screenSize.width-getWidth())/2,(screenSize.height-getHeight())/2;//設置窗體位置
setTitle(“圖書管理系統”);
//設置窗體標題
JMenuBar menuBar=createMenu();
//創建菜單欄
setJMenuBar(menuBar);
//設置菜單欄
JToolBar toolBar=createToolBar();
//創建工具欄的方法
getContentPane(),add(toolBar,BorderLayout.NORTH);
//設置工具欄
final JLable lable=new JLable();
//創建一個標簽,用來顯示圖片
lable.setBounds(0,0,0,0);
//設置窗體的大小和位置
lable.setIcon(null);
//窗體背景
DESKTOP_PANE.addComponentListener(new ComponentAdapter())
{
public void componentResized(final ComponentEvent e)
{
Dimension size=e.getComponent().getSize();
//獲得組建大小
lable.setSize(e.getComponent().getSize());
//設置標簽大小
lable.setText(“”);
//設置標簽文本,設置窗口背景
}
}
//將標簽添加到桌面窗體
DESKTOP_PANE.add(lable,new Integer(Integer.MIN_VALUE));
getContentPane().add(DESKTOP_PANE);
//將桌面窗體添加到主窗體中
} } private JToolBar createToolBar()
//創建工具欄的方法 { JToolBar toolBar=new JToolBar();
//初始化工具欄
toolBar.setFloatable(false);
//設置是否可以移動工具欄
toolBar.setBorder(new BevelBorder(BevelBorder.RAIZED));
//設置邊框
//圖書信息添加按鈕
JButton bookAddButton=new JButton(MenuActions.BOOK_ADD);ImageIcon icon=new ImageIcon(Main.class.getResource(“/bookAddtb.jpg”));//添加菜單欄圖標
bookAddButton.setIcon(icon);
//設置按鈕圖標
bookAddButton.setHideActionText(true);
//顯示提示文本
toolBar.add(bookAddButton);
//添加到工具欄中
JButton bookModiAndDelButton=new JButton(MenuActions.BOOK_MODIFY);
//圖書信息修改按鈕
ImageIcon bookmodiicon=Icon.add(“bookModiAndDeltb.jpg”);
//創建圖表方法
bookModiAndDelButton.setIcon(bookmodiicon);
//設置按鈕圖標
bookModiAndDelButton.setHideActionText(true);
//顯示提示文本
toolBar.add(bookModiAndDelButton);
//添加到工具欄
JButton bookTypeAddButton=new JButton(MenuActions.BOOKTYPE_ADD);
//圖書類別添加按鈕
ImageIcon bookTypeAddicon=Icon.add(“bookTypeAddtb.jpg”);
//創建圖標方法
bookTypeAddButton.setIcon(bookTypeAddicon);
//設置按鈕圖標
bookTypeAddButton.setHideActionText(true);
//顯示提示文本
toolBar.add(bookTypeAddButton);
//添加到工具欄
JButton bookBorrowButton=new JButton(MenuActions.BORROW);
//圖書借閱按鈕
ImageIcon bookBorrowicon=Icon.add(“bookBorrowtb.jpg”);
//創建圖標方法
bookBorrowButton.setIcon(bookBorrowicon);
//設置按鈕圖標
bookBorrowButton.setHideActionText(true);
//顯示提示文本
toolBar.add(bookBorrowButton);
//添加到工具欄
JButton bookOrderButton=new JButton(MenuActions.NEWBOOK_ORDER);
//新書訂購按鈕
ImageIcon bookOrdericon=Icon.add(“bookOrdertb.jpg”);
//創建圖標方法
bookOrderButton.setIcon(bookOrdericon);
//設置按鈕圖標
bookOrderButton.setHideActionText(true);
//顯示提示文本
toolBar.add(bookOrderButton);
//添加到工具欄
JButton bookCheckButton=new JButton(MenuActions.NEWBOOK_CHECK);
//驗收新書按鈕
ImageIcon bookCheckicon=Icon.add(“newbookChecktb.jpg”);
//創建圖標方法
bookCheckButton.setIcon(bookCheckicon);
//設置按鈕圖標
bookCheckButton.setHideActionText(true);
//顯示提示文本
toolBar.add(bookCheckButton);
//添加到工具欄
JButton readerAddButton=new JButton(MenuActions.READER_ADD);
//讀者信息添加按鈕
ImageIcon readerAddicon=Icon.add(“readerAddtb.jpg”);
//創建圖標方法
readerAddButton.setIcon(readerAddicon);
//設置按鈕圖標
readerAddButton.setHideActionText(true);
//顯示提示文本
toolBar.add(readerAddButton);
//添加到工具欄
JButton readerModiAndDelButton=new JButton(MenuActions.READER_MODIFY);
//讀者信息修改按鈕
ImageIcon readerModiAndDelicon=Icon.add(“readerModiAndDeltb.jpg”);
//創建圖標方法
readerModiAndDelButton.setIcon(readerModiAndDelicon);
//設置按鈕圖標
readerModiAndDelButton.setHideActionText(true);
//顯示提示文本
toolBar.add(readerModiAndDelButton);
//添加到工具欄
JButton ExitButton=new JButton(MenuActions.EXIT);
//退出系統按鈕
ImageIcon Exiticon=Icon.add(“exittb.jpg”);
//創建圖標方法
ExitButton.setIcon(Exiticon);
//設置按鈕圖標
ExitButton.setHideActionText(true);
//顯示提示文本
toolBar.add(ExitButton);
//添加到工具欄
return toolBar;} public class Business { protected static String dbClassName=“com.mysql.jdbc.Driver”;
//數據庫驅動類
protected static String dbUr1=“jdbc:mysql://localhost/ts”;
//連接URL protected static String dbUser=“root”;
//數據庫用戶名
protected static String dbpwd=“root”;
//數據庫密碼
private static Connection conn=null;
//數據庫連接對象,初值為null public Business(){
try
{
if(coon==null)
//連接對象為空
{
Class.forName(dbClassName);
//加載驅動類信息
conn=DriverManager.getConnection(dbUr1,dbUser,dbPwd);
//建立連接對象
}
}
catch(Exception ee)
{
ee.printStackTrace();
} } public static ResultSet executeQuery(String sql)
//執行查詢方法
{
try
{
//如果連接對象為空,則重新調用構造方法
if(conn==null)
{
new Business();
return conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE).executeQuery(sql);
//執行查詢
}
}
catch(SQLException e)
{
e.printStackTrace();
return null;
//返回null值
}
finally
{} } public static int executeUpdata(String sql)
//更新方法
{
try
{
if(conn==null)
{
new Business();
//如果連接對象為空,則重新調用構造方法
return conn.createStatement().executeUpdate(sql);//執行更新
}
}
catch(SQLException e)
{
e.printStackTrace();
return-1;
}
finally
{} } public static void close()
//關閉方法 {
try
{
conn.close();
//關閉連接對象
}
catch(SQLException e)
{
e.printStackTrace();
}
finally
{
conn=null;
//設置連接對象為null值
} } }
//為數據庫添加對應的類 public class BookInfo { private String Book_id;
//圖書編號
private String typeid;
//類別編號
private String writer;
//作者
private String translator;//譯者
private String publisher;
//出版社
private Date date;
//出版日期
private Double price;
//圖書單價
private String getBookname;//圖書名稱
public String getBookname(){
return bookname;} public void setBookname(String bookname){
this.bookname=bookname;} public Date getDate(){
return date;} public void setDate(Date date){
this.date=date;} public string getBook_id()
{ return Book_id;} public void setBook_id(String Book_id){ this.Book_id=Book_id;} public Double getPrice(){ return price;} public void setprice(Double price){ this.price=price;} public String getPublisher(){ return Publisher;} public void setPublisher(String publisher){ this.Publisher=Publisher;} public String getTranslator(){ return translator;} public void setTranslator(String translator){ this.translator=translator;} public String getTypeid(){ return typeid;} public void setTypeid(String typeid){ this.typeid=typeid;} public String getWriter(){ return writer;} public void setWriter(String writer){
this.writer=writer;} } public class BookType
//圖書列表信息類 { private String id;
//圖書類別編號
private String typeName;
//圖書類別名稱
private String days;
//可解天數
private String fk;//每罰款金額
public String getFk(){
return fk;} public void setFk(String fk){
this.fk=fk;} public String getDays(){
return days;} public void setDays(String days){
this.days=days;} public string getId(){
return id;} public void setId(String id){
this.Bid=id;} public String getTypeName(){
return typeName;} public void setTypeName(String typeName){
this.typeName=typeName;} } public class Order
//圖書訂單信息類 {
private String Book_id;
//圖書編號 private Date date;
//下單時間 private String number;
//圖書數量 private String operator;//操作員
private String checkAndAccept;
//是否收到貨 private String zk;
//圖書折扣 public String getcheckAndAccept(){ return checkAndAccept;} public void setcheckAndAccept(String checkAndAccept){ this.checkAndAccept=checkAndAccept;} public Date getDate(){ return date;} public void setDate(Date date){ this.date=date;} public string getBook_id(){ return book_id;} public void setBook_id(String book_id){ this.book_id=book_id;} public String getNumber(){ return number;} public void setNumber(String number){ this.number=number;} public String getOperator(){ return operator;} public void setOperator(String operator){
this.operatorr=operator;
} public String getZk(){
return zk;} public void setZk(String Zk){
this.zk=zk;} } public class Operater { private String id;
//操作員編號
private String name;
//操作員用戶名
private String grade;
//操作員等級
private String password;//操作員密碼
private String type;
//出版社
public String getType(){
return type;} public void setType(String type){
this.type=type;} public string getGrade(){
return grade;} public void setGrade(String grade){
this.grade=grade;} public String getId(){
return id;} public void setId(String id){
this.id=id;} public String getName(){
return name;} public void setName(String name){
this.name=name;} public String getPassword(){
return password;} public void setPassword(String password){
this.password=password;} } public class Borrow
//書籍借閱信息類 { private int id;
//借閱編號
private String book_id;
//圖書編號
private String reader_id;
//讀者編號
private String num;
//借書數量
private String borrowDate;
//借書日期
private String backDate;
//應還日期
private String Bookname;//圖書名稱
public String getBookname(){
return bookname;} public void setBookname(String bookname){
this.bookname=bookname;} public string getBackDate(){
return backDate;} public void setBackDate(String backDate){
this.backDate=backDate;} public string getBorrowDate(){
return borrowDate;} public void setBorrowDate(String borrowDate){
this.borrowDate=borrowDate;} public String getNum(){
return num;} public void setNum(String num){
this.num=num;} public String getBook_id(){
return book_id;} public void setBook_id(String book_id){
this.book_id=book_id;} public String getReader_id(){
return reader_id;} public void setReader_id(String reader_id){
this.reader_id=reader_id;} public int getId(){
return id;} public void setId(Int id){
this.id=id;} } public class Back
//圖書歸還信息類 { private String book_id;
//圖書編號
private String bookname;
//圖書名稱
private String operatorId;
//操作員編號
private String borrowDate;//圖書借閱時間
private String backDate;
//圖書歸還時間 private String readerName;
//讀者姓名 private String reader_id;//讀者編號 private int typeId;private int id; public int getId(){ return id;} public void setId(int id){ this.id=id;} public int getTypeId(){ return typeid;} public void setTypeId(int typeid){ this.typeId=typeId;} public string getBackDate(){ return backDate;} public void setBackDate(String backDate){ this.backDate=backDate;} public String getBookname(){ return bookname;} public void setBookname(String bookname){ this.bookname=bookname;} public string getBorrowDate(){ return borrowDate;} public void setBorrowDate(String borrowDate){ this.borrowDate=borrowDate;} public String getOperatorId(){
return operatorId;} public void setOperatorId(String operatorId){
this.operatorId=operatorId;} public String getBook_id(){
return book_id;} public void setBook_id(String book_id){
this.book_id=book_id;}
public String getReader_id(){
return reader_id;} public void setReader_id(String reader_id){
this.reader_id=reader_id;}
public String getReaderName(){
return readerName;} public void setReaderName(String readerName){
this.readerName=readerName;} }
//系統登錄模塊設計
public class BookLogin extends JFrame { private static final Operater Type=null;
//人員類型
private static Operater user;
//用戶名
private JPasswordField password;private JTextField username;private JButton login;private JButton reset;public BookLogin(){
super();
final BorderLayout borderLayout=new BorderLayout();
//創建布局管理器
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//設置“關閉”按鈕處理事件
borderLayout.setVgap(10);
//設置組件間的垂直關系
getContentPane().setLayout(borderLayout);
//使用布局管理器
setTitle(“圖書管理系統登錄”)
//設置窗體標題
Toolkit tool=Toolkit.getDefaultToolkit();
//獲得默認的工具箱
Dimension screenSize=tool.getScreenSize();//獲得屏幕的大小
setSize(285,194);
setLocation((screenSize.width-getWidth())/2,(screenSize.height-getHeight())/2);//設置窗體位置
final JPanel mainPanel=new JPanel();
//創建主面板
mainPanel.setLayout(new BorderLayout());
//設置邊框布局
mainPanel.setBorder(new EmptyBorder(0,0,0,0))
//設置邊框為0
getContentPane().add(mainPanel);
//在窗體中加入主面板
final JLabel imageLabel=new JLabel;
//創建一個標簽,用來顯示圖片
ImageIcon loginIcon=Icon.add(“login.jpg”);
//創建一個圖像圖標
imagelabel.setIcon(loginIcon);
//設置圖片
imageLabel.setOpaque(true);
//設置繪制其邊界內的所有像素
imageLabel.setBackground(Color.GREEN);
//設置背景顏色
imageLabel.setpreferredSize(new Dimension(260,60));//設置標簽大小
mainPanel.add(imageLabel,BorderLayout.NORTH);
//添加標簽到主面板
final JPanel centerPanel=new JPanel();
//添加一個中心面板
final GridLayout gridLayout=new GridLayout(2,2);//創建網絡布局管理器
gridLayout.setHgap(5);
//設置組件之間平行的距離
gridLayout.setVgap(20);
//設置組件之間垂直的距離
centerPanel.setLayout(gridLayout);
//使用布局管理器
mainPanel.add(centerPanel);
//添加到主桌面
final JLabel userNamelabel=new JLabel();
//創建一個標簽
userNameLabel.setHorizontalAlignment(SwingConstants.CENTER);//設置對齊方式
userNameLabel.setPreferredSize(new Dimension(0,0));
//設置組件大小
userNameLabel.setMinimumSize(new Dimension(0,0));
//設置組件最小的大小
centerPanel.add(userNameLabel);
//添加到中心面板
userNameLabel.setText(“用
戶
名:”);
//設置標簽文本
username=new JTextField(20);
//創建文本框
username.setPreferredSize(new Dimension(0,0));
//設置組件大小
centerPanel.add(username);
//添加到中心面板
final JLabel passwordLabel=new JLabel();
//創建一個標簽
passwordLabel.setHorizontalAlignment(SwingConstants.CENTER);
//設置對齊方式
centerPanel.add(passwordLabel);
//添加到中心面板
passwordLabel.setText(“密
碼:”);
//設置標簽文本
password=new JPasswordField(20);
//創建密碼框
password.setDocument(new Document(6));
//設置密碼長度為6
password.addKeyListener(new KeyAdapter()
//監聽密碼框
{
public void keyPressed(final keyEvent e)
//監聽鍵盤案件事件
{
if(e.getKeyCode()==10)
//如果按了回車鍵
{
login.doClick();
//進行登錄
}
}
})
centerPanel.add(password);
//添加到中心面板
final JPanel southPanel=new JPanel;//新增一個底部面板
mainPanel.add(southPanel,BorderLayout.SOUTH);
//添加到主面板中
login=new JButton();
//創建按鈕組件
login.addActionListener(new BookLoginAtion());
//添加監聽器
login.setText(“登錄”);
//設置按鈕文本
southPanel.add(login);
//把按鈕添加到底部面板
reset=new JButton();
//創建按鈕組件
reset.addActionListener(new BookResetAction());
//添加監聽器
reset.setText(“重置”);
//設置按鈕文本
southPanel.add(reset);
//把按鈕添加到底部面板
setVisible(true);
//設置創建可見
setResizable(false);
//設置窗體不可改變大小
} public static Operater getUser(){
return user;} public static Operater getType(){
return Type;} public static void setUser(Operater user){
BookLogin.user=user;} } private class BookResetAction implements ActionListener { public void actionPerformed(final ActionEvent e){
username.setText(“");//設置用戶名輸入框為空
password.setText(”“);//設置密碼輸入框為空
} } private class BookLoginAction implements ActionListener { public void actionPerformed(final ActionEvent e){
user=Business.check(username.getText(),new String(password.getPassword()));//調用business方法
if(user.getName()!=null)
//判斷用戶名是否為null
{
try
{
Main frame=new Main();
//創建一個主窗體
frame.setVisible(true);
//設置其可見
BookLogin.this.setVisible(false);
//設置登錄窗體為不顯示
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
else
{
JOptionPane.showMessageDialog(null,”請輸入正確的用戶名和密碼!“);//彈出提示框
username.setText(”“);
//設置用戶名輸入框為空
password.setText(”“);
//設置密碼輸入框為空
} } }
//基本信息管理模塊
public class ReaderAdd extends JInternalFrame
//添加讀者信息 { public ReaderAdd(){
super();
setTitle(”讀者相關信息添加“);
setIconifiable(true);
//設置窗體可最小化
setClosable(true);
//設置窗體可關閉
setBounds(100,100,500,350);
final JLabel logoLabel=new JLabel();
ImageIcon readerAddIcon=Icon.add(”readerAdd.jpg“);
logoLabel.setIcon(readerAddIcon);
logoLabel.setOpaque(true);
logoLabel.setBackground(Color.CYAN);
logoLabel.setPreferredSize(new Dimension(400,60));
getContentPane().add(logoLabel,BorderLayout.NORTH);
final JPanel panel=new JPanel();
panel.setLayout(new FlowLayout());
getContentPane().add(panel);
final JPanel panel_1=new JPanel();
final GridLayout gridLayout=new GridLayout(0,4);
gridLayout.setVgap(15);
gridLayout.setHgap(15);
panel_1.setLayout(gridLayout);
panel_1.setPreferredSize(new Dimension(450,200));
panel.add(panel_1);
final JLabel label_2=new JLabel();
label_2.setText(”姓名:“);
panel_1.add(label_2);
readername=new JTextField();
readername.setDocument(new Document(10));
panel_1.add(readername);
final JLabel label_3=new JLabel();
public void actionPerformed(final ActionEvent e)
{
Check validator=new Check();
//校驗類
String zj=String.valueof(comboBox.getSelectedIndex());
String id=read_id.getText().trim();
Vector v1=new Vector();
v1.clear();
v1.add(”reader“);
//讀取配置文件中相應的查詢語句
v1.add(id);
if(l==validator.Validate(V1))
//檢查是否存在該讀者
{
JOptionPane.showMessageDialog(null,”添加失敗,該讀者編號已存在!“);
}
else
{
Int i=Business.InsertReader(readername.getText().trim(),sex.trim(),age.getText().trim(),zjnumber.getText().trim(),Date.valueOf(date.getText().trim()),maxnumber.getText().trim().tel.getText().trim(),Double.valueof(keepmoney.getText().trim()),zj,zy.getText().trim(),Date.valueOf(bztime.getText().trim()),read_id.getText().trim());
if(i==1)
{
JOptionPane.showMessageDialog(null,”添加成功!“);
doDefaultCloseAction();
}
}
}
}
class TelListener extends KeyAdapter
{ public void keyTyped(KeyEvent e){
String numStr=”0123456789-“+(char)8;
//類型轉換
if(numStr.indexOf(e.getKeyChar())<0)
{
e.consume();
} }
}
//添加“關閉”按鈕的事件監聽器
class CloseActionListener implements ActionListener
{
public void actionPerformed(final ActionEvent e)
{
doDefaultCloseAction();
}
}
private String[] columnNames(”名稱“,”性別“,”年齡“,”證件號碼“,”借書證有效日期“,”借書量“,”電話“,”押金“,”證件“,”職業“,”讀者編號“,”辦證時間“);
private String[] array=new String[]{”身份證“,”軍人證“,”學生證“};
String id;
private Object[][] getFileStates(List list)
{
Object[][]results=new Object[list.size()][columnNames.length];
for(int i=0;i { Reader reader=(Reader)list.get(i); result[i][0]=reader.getName(); //定義二維數組 String sex; if(reader.getSex().equals(”1“)) { sex=”男“; } else { sex=”女“; } results[i][1]=sex; //讀取讀者歌屬性值 results[i][2]=reader.getAge(); results[i][3]=reader.getIdentityCard(); results[i][4]=reader.getDate(); results[i][5]=reader.getMaxNum(); results[i][6]=reader.getTel(); results[i][7]=reader.getKeepMoney(); results[i][8]=array[reader.getZj()]; results[i][9]=reader.getZy(); results[i][10]=reader.getBook_id(); results[i][11]=reader.getBZtime(); } return results; } //圖書類別管理 //添加圖書信息 utton.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { if(bookTypeName.getText().length()==0) { JOptionPane.showMMessageDialog(null,”圖書類別文本框不可為空“); return; } if(days.getText().length()==0) { JOptionPane.showMessageDialog(null,”可借天數文本框不可為空“); return; } if(!check.isNumeric(days.getText().trim())) { JOptionPane.showMessageDialog(null,”可借天數必須為數字“); return; } if(fakuan.getText().length()==0) { JOptionPane.showMessageDialog(null,”罰款文本框不可為空“); return; } if(!check.isNumeric(fakuan.getText().trim())) { JOptionPane.showMessageDialog(null,”罰款必須為數字“); return; } int i=Business.InsertBookType(bookTypeName.getText().trim(),days.getText().trim(),Double.valueof(fakuan.getText.trim())/10); if(i==1) { JOptionPane.showMessageDialog(null,”添加成功!“); doDefaultCloseAction(); } } }); panel_6.add(button); final JButton buttonDel=new JButton(); buttonDel.setText(”關閉“); buttonDel.addActionListener(new ActionListener(){ public void actionPerformed(final ActionEvent e){ doDefaultCloseAction(); } }); panel_6.add(buttonDel); setVisibel(true);} //修改圖書類 class ButtonAddListener implements ActionListener{ public void actionPerformed(ActionEvent e){ Object selectedItem=bookTypeModel.getSelectedItem(); int i=Business.UpdatebookType(BookTypeId.getText().trim(),selectedItem.toString(),days.getText().trim(),fk.getText().trim()); if(i==1) { JOptionPane.showMessageDialog(null,”修改成功"); object[][] results=getFileStates(Business.selectBookCategory()); model.setDataVector(results.columnNames); } } } table.setModel(model); VB學生信息管理系統及源代碼 Option Explicit '標識是否能關閉 Dim mbClose As Boolean '標識當前要顯示的照片的文件 Dim mstrFileName As String Private Sub Form_Load() On Error Resume Next If frmMain.mnUserType = 1 Then '學生用戶 fraSeek.Enabled = False fraBrowse.Enabled = False cmdAdd.Enabled = False cmdDelete.Enabled = False txtSerial.Enabled = False dcbClass.Enabled = False grdScan.Enabled = False If Not(DataEnv.rsStudent.EOF And DataEnv.rsStudent.BOF)Then Dim Temp As String Temp = “name = ” & “'” & frmMain.msUserName & “'” DataEnv.rsStudent.MoveFirst DataEnv.rsStudent.Find Temp '刷新所綁定的控件 Call RefreshBinding End If Exit Sub Else fraSeek.Enabled = True fraBrowse.Enabled = True cmdAdd.Enabled = True cmdDelete.Enabled = True txtSerial.Enabled = True dcbClass.Enabled = True grdScan.Enabled = True End If Dim rsDep As New ADODB.Recordset, rsClass As New ADODB.Recordset Set rsDep = DataEnv.rsDepartment Set rsClass = DataEnv.rsClass rsDep.Open '從Department表中讀取數據,填充cboDep組合框到中 cboDep.Clear cboDep.AddItem “全部” '將各個系的id號作為ItemData附加到組合框中 cboDep.ItemData(0)= 0 While Not rsDep.EOF cboDep.AddItem rsDep(“Name”) cboDep.ItemData(cboDep.ListCount1) ChunkAry = blobColumn.GetChunk(Fragment) Put FileNumber, , ChunkAry '寫入文件 End If ReDim ChunkAry(ChunkSize-1) '為數據塊重新開辟空間 For lngI = 1 To Chunks '循環讀出所有塊 ChunkAry = blobColumn.GetChunk(ChunkSize) '在數據庫中連續讀數據塊 Put FileNumber, , ChunkAry() '將數據塊寫入文件中 Next lngI Close FileNumber ReadImage = strFileName Exit Function errHander: ReadImage = “" End Function Private Sub imgPhoto_Click()End '關閉文件 Sub Option Explicit '表示當前的用戶類型:0---管理員類型的用戶;1---學生類型的用戶 Public mnUserType As Integer '表示當前登錄的用戶名 Public msUserName As String Private Sub MDIForm_Load() '根據不同的用戶類型,使相應的菜單項可見 Select Case mnUserType Case 0: '以管理員身份登錄 mnuFind.Visible = True tlbMain.Buttons.Item(3).Visible = True tlbMain.Buttons.Item(4).Visible = True Exit Sub Case 1: '以學生身份登錄,只能查詢自己的信息 mnuFind.Visible = False '“信息查詢”菜單不可見 tlbMain.Buttons.Item(3).Visible = False '“信息查詢”按鈕不可見 tlbMain.Buttons.Item(4).Visible = False '第二個分隔條不可見 Exit Sub End Select End Sub Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer) If MsgBox(”真的要對出本系統嗎?“, vbQuestion + vbYesNo + vbDefaultButton2, ”退出“)= vbNo Then Cancel = 1 End If End Sub Private Sub mnuAbout_Click() Load frmSplash frmSplash.mbAbout = True frmSplash.Show vbModal End Sub Private Sub mnuArr_Click() frmMain.Arrange(3) '設置主窗體中所有最小化MDI子窗體圖標重排 End Sub Private Sub mnuCas_Click() frmMain.Arrange(0) '設置主窗體中所有非最小化MDI子窗體層疊顯示 End Sub Private Sub mnuExit_Click() Unload Me End Sub Private Sub mnuFind_Click() frmFind.Show End Sub Private Sub mnuHori_Click() frmMain.Arrange(1) '設置主窗體中所有非最小化MDI子窗體水平平鋪 End Sub Private Sub mnuLog_Click() If MsgBox(”若重新登錄,所有窗體都將關閉!“ & vbCrLf & ” 是否重新登錄?“, _ vbQuestion + vbYesNo + vbDefaultButton2, ”重新登錄“)= vbYes Then Unload Me frmLogin.Show End If End Sub Private Sub mnuStudent_Click() Load frmStudent frmStudent.Show End Sub Private Sub mnuVer_Click() frmMain.Arrange(2) '設置主窗體中所有非最小化MDI子窗體垂直平鋪 End Sub Private Sub tlbMain_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Key Case ”Student“ mnuStudent_Click Exit Sub Case ”Find“ mnuFind_Click Exit Sub Case ”Login“ mnuLog_Click Exit Sub Case ”Exit“ mnuExit_Click Exit Sub End Select End SubOption Explicit '表示當前用戶登錄所選擇的身份,即用戶類型, 0-表示教務管理人員;1-表示學生 Dim mnUserType As Integer Private Sub cmdCancel_Click() Unload Me End Sub Private Sub cmdOK_Click() '取得用戶輸入的用戶名和密碼 Dim user As String, pwd As String user = Trim(txtUser) pwd = Trim(txtPwd) '根據不同的身份,選擇不同的表用以查詢 Dim r As New ADODB.Recordset Set r = DataEnv.rssqlSeek Dim strSQL As String Select Case mnUserType Case 0: '若身份為管理員 strSQL = ”select * from 系統人員表 where name='“ & user & ”' and pwd='“ & pwd & ”'“ Case 1: '若身份為學生 strSQL = ”select * from 學生信息表 where name='“ & user & ”' and serial='“ & pwd & ”'“ End Select On Error Resume Next '查詢DataEnv.rssqlSeek的狀態,如果已經打開,則先關閉 If r.State = adStateOpen Then r.Close r.Open strSQL '根據strSQL的內容刷新DataEnv.rssqlSeek '用戶密碼錯誤的次數,如果錯誤次數超過3次,則退出系統 Static nTryCount As Integer If r.EOF Then '登錄失敗 MsgBox ”對不起,無此用戶或者密碼不正確!請重新輸入!“, vbCritical, ”錯誤“ txtUser.SetFocus txtUser.SelStart = 0 txtUser.SelLength = Len(txtUser) nTryCount = nTryCount + 1 If nTryCount >= 3 Then MsgBox ”您無權操作本系統!“, vbCritical, ”錯誤“ Unload Me End If Else '登陸成功 '顯示MDI窗體, 并將用戶類型和用戶名傳到MDI窗體中的mnUserType, msUserName中 With frmMain .mnUserType = mnUserType .msUserName = user End With Load frmMain frmMain.Show Unload Me End If End Sub Private Sub Form_Load() optUserType(0).Value = True End Sub Private Sub optUserType_Click(Index As Integer) mnUserType = Index End Sub Explicit Private Sub Command1_Click() Dim strCon1 As String Dim strCon2 As String On Error GoTo myerr If Trim(Text1.Text)= ”“ Or Trim(Text2.Text)= ”“ Then If MsgBox(”請輸入查詢條件!“, vbInformation, ”提示“)Then GoTo myerr End If Select Case Trim(Combo1.Text) Case ”學號“ strCon1 = ”Serial“ Case ”姓名“ strCon1 = ”Name“ Case ”班級“ strCon1 = ”Class“ Option Case ”生日“ strCon1 = ”Birthday“ Case ”性別“ strCon1 = ”Sex“ Case ”家庭地址“ strCon1 = ”Address“ Case ”電話“ strCon1 = ”Tel“ End Select Select Case Trim(Combo4.Text) Case ”學號“ strCon2 = ”Serial“ Case ”姓名“ strCon2 = ”Name“ Case ”班級“ strCon2 = ”Class“ Case ”生日“ strCon2 = ”Birthday“ Case ”性別“ strCon2 = ”Sex“ Case ”家庭地址“ strCon1 = ”Address“ Case ”電話“ strCon2 = ”Tel“ End Select DataEnv.rsStudent.Close DataEnv.rsStudent.Open ”select * from 學生信息表 where “ & _ strCon1 & Trim(Combo2.Text)& ” '“ & Trim(Text1.Text)_ & ”'“ & ” “ & Trim(Combo3.Text)& ” “ & strCon2 & _ Trim(Combo5.Text)& ”'“ & Trim(Text2.Text)& ”'“ dgdCX.DataMember = ”“ dgdCX.Refresh DataEnv.rsStudent.Requery dgdCX.DataMember = ”Student“ dgdCX.Refresh myerr: End Sub Private Sub Command3_Click() Unload Me End Sub Private Sub dgdCX_Click() End Sub Private Sub Form_Load() '添加Combo1的子項作為查詢標準 Combo1.AddItem(”學號“) Combo1.AddItem(”姓名“) Combo1.AddItem(”班級“) Combo1.AddItem(”生日“) Combo1.AddItem(”性別“) Combo1.AddItem(”家庭地址“) Combo1.AddItem(”電話“) Combo1.ListIndex = 0 '添加Combo2的子項作為關系符 Combo2.AddItem(”=“) Combo2.AddItem(”>“) Combo2.AddItem(”>=“) Combo2.AddItem(”<“) Combo2.AddItem(”<=“) Combo2.AddItem(”<>“) Combo2.ListIndex = 0 '添加Combo3的子項作為邏輯連接符 Combo3.AddItem(”And“) Combo3.AddItem(”Or“) Combo3.ListIndex = 0 '添加Combo4的子項作為第二種查詢標準 Combo4.AddItem(”學號“) Combo4.AddItem(”姓名“) Combo4.AddItem(”班級“) Combo4.AddItem(”生日“) Combo4.AddItem(”性別“) Combo4.AddItem(”家庭地址“) Combo4.AddItem(”電話“) Combo4.ListIndex = 0 '添加Combo5的子項作為第二種關系符 Combo5.AddItem(”=“) Combo5.AddItem(”>“) Combo5.AddItem(”>=“) Combo5.AddItem(”<“) Combo5.AddItem(”<=“) Combo5.AddItem(”<>") Combo5.ListIndex = 0 End Sub Private Sub Form_Unload(Cancel As Integer) frmMain.Enabled = True frmMain.Show End Sub第五篇:VB學生信息管理系統及源代碼