vb图书管理系统源代码
- 格式:doc
- 大小:187.50 KB
- 文档页数:35
附录主页面(MDImain):Private Sub addbook_Click()add_book.ShowEnd SubPrivate Sub addreader_Click()add_reader.ShowEnd SubPrivate Sub adduser_Click()add_user.ShowEnd SubPrivate Sub backbook_Click()back_book.ShowEnd SubPrivate Sub borrowbook_Click()borrow_book.ShowEnd SubPrivate Sub cuibackbook_Click()cuiback_book.ShowEnd SubPrivate Sub findbook_Click()find_book.ShowEnd SubPrivate Sub findreader_Click()find_reader.ShowEnd SubPrivate Sub MDIForm_Load()End SubPrivate Sub modifybook_Click()change_book.ShowEnd SubPrivate Sub modifypwd_Click()change_pwd.ShowEnd SubPrivate Sub modifyreader_Click()change_reader.ShowEnd SubPrivate Sub delbook_Click()del_book.ShowEnd SubPrivate Sub delreder_Click()del_reader.ShowEnd SubPrivate Sub quitsys_Click()EndEnd Sub登陆(login):Option ExplicitDim cnt As Integer '记录确定次数Private Sub Command1_Click()Dim sql As StringDim rs_login As New ADODB.RecordsetIf Trim(txtuser.Text) = "" Then '判断输入的用户名是否为空MsgBox "没有这个用户", vbOKOnly + vbExclamation, ""txtuser.SetFocusElsesql = "select * from 用户表where 用户名='" & txtuser.Text & "'"rs_login.Open sql, conn, adOpenKeyset, adLockPessimisticIf rs_login.EOF = True ThenMsgBox "没有这个用户", vbOKOnly + vbExclamation, ""txtuser.SetFocusElse '检验密码是否正确If Trim(rs_login.Fields(1)) = Trim(txtpwd.Text) ThenuserID = txtuser.Textuserpow = rs_login.Fields(2)rs_login.CloseUnload MeMsgBox "欢迎登录到图书管理系统!", vbOKOnly + vbExclamation, ""MDImain.ShowElseMsgBox "密码不正确", vbOKOnly + vbExclamation, ""txtpwd.SetFocusEnd IfEnd IfEnd Ifcnt = cnt + 1If cnt = 3 ThenUnload MeEnd IfExit SubEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Load()Dim connectionstring As Stringconnectionstring = "provider=Microsoft.Jet.oledb.4.0;" & _"data source=图书管理系统.mdb"conn.Open connectionstringcnt = 0End Sub添加用户(add_user):Private Sub Command1_Click()Dim sql As StringDim rs_add As New ADODB.RecordsetIf Trim(Text1.Text) = "" ThenMsgBox "用户名不能为空", vbOKOnly + vbExclamation, ""Exit SubText1.SetFocusElsesql = "select * from 用户表"rs_add.Open sql, conn, adOpenKeyset, adLockPessimisticWhile (rs_add.EOF = False)If Trim(rs_add.Fields(0)) = Trim(Text1.T ext) ThenMsgBox "已有这个用户", vbOKOnly + vbExclamation, ""Text1.SetFocusText1.Text = ""Text2.Text = ""Text3.Text = ""Combo1.Text = ""Exit SubElsers_add.MoveNextEnd IfWendIf Trim(Text2.Text) <> Trim(Text3.Text) ThenMsgBox "两次密码不一致", vbOKOnly + vbExclamation, ""Text2.SetFocusText2.Text = ""Text3.Text = ""Exit SubElseIf Trim(Combo1.Text) <> "system" And Trim(Combo1.Text) <> "guest" Then MsgBox "请选择正确的用户权限", vbOKOnly + vbExclamation, ""Combo1.SetFocusCombo1.Text = ""Exit SubElsers_add.AddNewrs_add.Fields(0) = Text1.Textrs_add.Fields(1) = Text2.Textrs_add.Fields(2) = Combo1.Textrs_add.Updaters_add.CloseMsgBox "添加用户成功", vbOKOnly + vbExclamation, ""Unload MeEnd IfEnd IfEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Load()Combo1.AddItem "system"Combo1.AddItem "guest"If userpow = "guest" Then '权限相关Command1.Enabled = FalseCommand2.Enabled = FalseEnd IfEnd Sub添加读者(add_reader):Option ExplicitDim rs_addreader As New ADODB.RecordsetPrivate Sub Command1_Click()Dim sql As StringIf Trim(Text1.Text) = "" ThenMsgBox "借书证号不能为空", vbOKOnly + vbExclamation, ""Text1.SetFocusExit SubEnd IfIf Trim(Text2.Text) = "" ThenMsgBox "所在单位不能为空", vbOKOnly + vbExclamation, ""Text2.SetFocusExit SubEnd IfIf Trim(Text3.Text) = "" ThenMsgBox "姓名不能为空", vbOKOnly + vbExclamation, ""Text3.SetFocusExit SubEnd IfIf Trim(Text4.Text) = "" ThenMsgBox "性别不能为空", vbOKOnly + vbExclamation, ""Text4.SetFocusExit SubEnd IfIf Trim(Text5.Text) = "" ThenMsgBox "类型不能为空", vbOKOnly + vbExclamation, ""Text5.SetFocusExit SubEnd IfIf Trim(Text6.Text) = "" ThenMsgBox "地址不能为空", vbOKOnly + vbExclamation, ""Text6.SetFocusExit SubEnd Ifsql = "select * from 读者表where 借书证号='" & Text1.T ext & "'" rs_addreader.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_addreader.EOF Thenrs_addreader.AddNewrs_addreader.Fields(0) = Trim(Text1.Text)rs_addreader.Fields(1) = Trim(Text2.Text)rs_addreader.Fields(2) = Trim(Text3.Text)rs_addreader.Fields(3) = Trim(Text4.Text)rs_addreader.Fields(4) = Trim(Text5.T ext)rs_addreader.Fields(5) = Trim(Text6.Text)rs_addreader.UpdateMsgBox "添加读者信息成功!", vbOKOnly, ""Unload MeElseMsgBox "借书证号重复!", vbOKOnly + vbExclamation, ""Text1.SetFocusText1.Text = ""rs_addreader.CloseExit SubEnd IfEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Load()If userpow = "guest" Then '权限相关Frame2.Enabled = FalseEnd IfEnd Sub删除读者(del_reader):Option ExplicitDim rs_reader As New ADODB.RecordsetPrivate Sub cmdcancel_Click()rs_reader.CancelUpdateDataGrid1.RefreshDataGrid1.AllowAddNew = FalseDataGrid1.AllowUpdate = Falsecmddel.Enabled = Truecmdcancel.Enabled = Falsecmdupdate.Enabled = FalseEnd SubPrivate Sub cmddel_Click()Dim answer As StringOn Error GoT o delerroranswer = MsgBox("确定要删除吗?", vbYesNo, "")If answer = vbYes ThenDataGrid1.AllowDelete = Truers_reader.Deleters_reader.UpdateDataGrid1.RefreshMsgBox "成功删除!", vbOKOnly + vbExclamation, ""DataGrid1.AllowDelete = Falsers_reader.UpdateDataGrid1.RefreshElseExit SubEnd Ifdelerror:If Err.Number <> 0 ThenMsgBox Err.DescriptionEnd IfEnd SubPrivate Sub cmdquit_Click()Unload MeEnd SubPrivate Sub cmdupdate_Click()If Not IsNull(DataGrid1.Bookmark) Thenrs_reader.UpdateEnd Ifcmddel.Enabled = Truecmdcancel.Enabled = Falsecmdupdate.Enabled = FalseDataGrid1.AllowUpdate = FalseMsgBox "修改成功!", vbOKOnly + vbExclamation, ""End SubPrivate Sub Form_Load()Dim sql As StringOn Error GoT o loaderrorsql = "select * from 读者表"rs_reader.CursorLocation = adUseClientrs_reader.Open sql, conn, adOpenKeyset, adLockPessimistic '打开数据库cmdupdate.Enabled = False'设定datagrid控件属性DataGrid1.AllowAddNew = False '不可增加DataGrid1.AllowDelete = False '不可删除DataGrid1.AllowUpdate = FalseIf userpow = "guest" Then '权限相关Frame2.Enabled = FalseEnd IfSet DataGrid1.DataSource = rs_reader'cmdcancel.Enabled = FalseExit Subloaderror:MsgBox Err.DescriptionEnd SubPrivate Sub Form_Unload(Cancel As Integer) Set DataGrid1.DataSource = Nothingrs_reader.CloseEnd Sub修改读者(change_reader):Option ExplicitDim rs_reader As New ADODB.RecordsetPrivate Sub cmdcancel_Click()rs_reader.CancelUpdateDataGrid1.RefreshDataGrid1.AllowAddNew = FalseDataGrid1.AllowUpdate = Falsecmdquit.Enabled = Truecmdchange.Enabled = Truecmdcancel.Enabled = Falsecmdupdate.Enabled = FalseEnd SubPrivate Sub cmdchange_Click()Dim answer As StringOn Error GoT o cmdchangecmdquit.Enabled = Truecmdchange.Enabled = False cmdupdate.Enabled = True cmdcancel.Enabled = TrueDataGrid1.AllowUpdate = True cmdchange:If Err.Number <> 0 ThenMsgBox Err.DescriptionEnd IfEnd SubUnload MeEnd SubPrivate Sub cmdupdate_Click()If Not IsNull(DataGrid1.Bookmark) Thenrs_reader.UpdateEnd Ifcmdquit.Enabled = Truecmdchange.Enabled = Truecmdcancel.Enabled = Falsecmdupdate.Enabled = FalseDataGrid1.AllowUpdate = FalseMsgBox "修改成功!", vbOKOnly + vbExclamation, ""End SubPrivate Sub Form_Load()Dim sql As StringOn Error GoT o loaderrorsql = "select * from 读者表"rs_reader.CursorLocation = adUseClientrs_reader.Open sql, conn, adOpenKeyset, adLockPessimistic '打开数据库cmdupdate.Enabled = False'设定datagrid控件属性DataGrid1.AllowAddNew = False '不可增加DataGrid1.AllowDelete = False '不可删除DataGrid1.AllowUpdate = FalseIf userpow = "guest" Then '权限相关Frame2.Enabled = FalseEnd IfSet DataGrid1.DataSource = rs_reader'cmdcancel.Enabled = FalseExit Subloaderror:MsgBox Err.DescriptionEnd SubPrivate Sub Form_Unload(Cancel As Integer)Set DataGrid1.DataSource = Nothingrs_reader.CloseEnd Sub查询读者(find_reader):Option ExplicitDim rs_findreader As New ADODB.RecordsetDim sql As StringIf Check1.Value = vbChecked ThenIf Trim(sql) = "" Thensql = "借书证号='" & Trim(Text1.T ext & " ") & "'"Elsesql = sql & "and 借书证号='" & Trim(Text1.T ext & " ") & "'"End IfEnd IfIf Check2.Value = vbChecked ThenIf Trim(sql) = "" Thensql = "姓名='" & Trim(Text2.T ext & " ") & "'"Elsesql = sql & "and 姓名='" & Trim(Text2.T ext & " ") & "'"End IfEnd Ifsql = "select * from 读者表where " & sqlrs_findreader.CursorLocation = adUseClientrs_findreader.Open sql, conn, adOpenKeyset, adLockPessimistic DataGrid1.AllowAddNew = FalseDataGrid1.AllowDelete = FalseDataGrid1.AllowUpdate = FalseSet DataGrid1.DataSource = rs_findreader'rs_findreader.CloseEnd SubPrivate Sub Command2_Click()Unload MeEnd Sub添加图书(add_book):Option ExplicitDim rs_addbook As New ADODB.RecordsetPrivate Sub Command1_Click()Dim sql As StringIf Trim(Text1.Text) = "" ThenMsgBox "书号不能为空", vbOKOnly + vbExclamation, ""Text1.SetFocusExit SubEnd IfIf Trim(Text2.Text) = "" ThenMsgBox "分类号不能为空", vbOKOnly + vbExclamation, ""Text2.SetFocusExit SubEnd IfIf Trim(Text3.Text) = "" ThenMsgBox "作者不能为空", vbOKOnly + vbExclamation, ""Text3.SetFocusExit SubEnd IfIf Trim(Text4.Text) = "" ThenMsgBox "出版社不能为空", vbOKOnly + vbExclamation, ""Text4.SetFocusExit SubEnd IfIf Trim(Text5.Text) = "" ThenMsgBox "单价不能为空", vbOKOnly + vbExclamation, ""Text5.SetFocusExit SubEnd Ifsql = "select * from 图书表where 书号='" & Text1.T ext & "'" rs_addbook.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_addbook.EOF Thenrs_addbook.AddNewrs_addbook.Fields(0) = Trim(Text1.Text)rs_addbook.Fields(1) = Trim(Text2.Text)rs_addbook.Fields(2) = Trim(Text3.Text)rs_addbook.Fields(3) = Trim(Text4.Text)rs_addbook.Fields(5) = Trim(Text5.Text)rs_addbook.Fields(4) = "否"rs_addbook.UpdateMsgBox "添加书籍信息成功!", vbOKOnly, ""Unload MeElseMsgBox "书号重复!", vbOKOnly + vbExclamation, ""Text1.SetFocusText1.Text = ""rs_addbook.CloseExit SubEnd IfEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Load()If userpow = "guest" Then '权限相关Command1.Enabled = FalseCommand2.Enabled = FalseEnd IfEnd Sub删除图书(del_book):Option ExplicitDim rs_book As New ADODB.RecordsetPrivate Sub cmdcancel_Click()rs_book.CancelUpdateDataGrid1.RefreshDataGrid1.AllowAddNew = FalseDataGrid1.AllowUpdate = Falsecmddel.Enabled = Truecmdcancel.Enabled = Falsecmdupdate.Enabled = FalseEnd SubPrivate Sub cmddel_Click()Dim answer As StringOn Error GoT o delerroranswer = MsgBox("确定要删除吗?", vbYesNo, "")If answer = vbYes ThenDataGrid1.AllowDelete = Truers_book.Deleters_book.UpdateDataGrid1.RefreshMsgBox "成功删除!", vbOKOnly + vbExclamation, ""DataGrid1.AllowDelete = FalseElseExit SubEnd Ifdelerror:If Err.Number <> 0 ThenMsgBox Err.DescriptionEnd IfEnd SubPrivate Sub cmdquit_Click()Unload MeEnd SubPrivate Sub cmdupdate_Click()If Not IsNull(DataGrid1.Bookmark) Thenrs_book.UpdateEnd Ifcmddel.Enabled = Truecmdcancel.Enabled = Falsecmdupdate.Enabled = FalseDataGrid1.AllowUpdate = FalseMsgBox "删除成功!", vbOKOnly + vbExclamation, ""End SubPrivate Sub Form_Load()Dim sql As StringOn Error GoT o loaderrorsql = "select * from 图书表"rs_book.CursorLocation = adUseClientrs_book.Open sql, conn, adOpenKeyset, adLockPessimistic '打开数据库cmdupdate.Enabled = False'设定datagrid控件属性DataGrid1.AllowAddNew = False '不可增加DataGrid1.AllowDelete = False '不可删除DataGrid1.AllowUpdate = FalseIf userpow = "guest" Then '权限相关Frame2.Enabled = FalseEnd IfSet DataGrid1.DataSource = rs_book'cmdcancel.Enabled = FalseExit Subloaderror:MsgBox Err.DescriptionEnd SubPrivate Sub Form_Unload(Cancel As Integer)Set DataGrid1.DataSource = Nothingrs_book.CloseEnd Sub修改图书(change_book):Option ExplicitDim rs_book As New ADODB.RecordsetPrivate Sub cmdcancel_Click()rs_book.CancelUpdateDataGrid1.RefreshDataGrid1.AllowAddNew = FalseDataGrid1.AllowUpdate = Falsecmdcancel.Enabled = Falsecmdupdate.Enabled = FalseEnd SubPrivate Sub cmdchange_Click()Dim answer As StringOn Error GoT o cmdchangecmdchange.Enabled = Falsecmdupdate.Enabled = Truecmdcancel.Enabled = TrueDataGrid1.AllowUpdate = Truecmdchange:If Err.Number <> 0 ThenMsgBox Err.DescriptionEnd Ifrs_book.UpdateDataGrid1.RefreshEnd SubPrivate Sub cmdquit_Click()Unload MeEnd SubPrivate Sub cmdupdate_Click()If Not IsNull(DataGrid1.Bookmark) Thenrs_book.UpdateEnd Ifcmdchange.Enabled = Truecmdcancel.Enabled = Falsecmdupdate.Enabled = FalseDataGrid1.AllowUpdate = FalseMsgBox "修改成功!", vbOKOnly + vbExclamation, ""End SubPrivate Sub Form_Load()Dim sql As StringOn Error GoT o loaderrorsql = "select * from 图书表"rs_book.CursorLocation = adUseClientrs_book.Open sql, conn, adOpenKeyset, adLockPessimistic '打开数据库'设定datagrid控件属性DataGrid1.AllowAddNew = False '不可增加DataGrid1.AllowDelete = False '不可删除DataGrid1.AllowUpdate = FalseIf userpow = "guest" Then '权限相关Frame2.Enabled = FalseEnd IfSet DataGrid1.DataSource = rs_bookcmdcancel.Enabled = FalseExit Subloaderror:MsgBox Err.DescriptionEnd SubPrivate Sub Form_Unload(Cancel As Integer)Set DataGrid1.DataSource = Nothingrs_book.CloseEnd Sub查询图书(find_book):Option ExplicitDim panduan As StringPrivate Sub Command1_Click()Dim rs_findbook As New ADODB.RecordsetDim sql As StringIf Check1.Value = vbChecked ThenIf Trim(sql) = "" Thensql = "书号='" & Trim(Text1.T ext & " ") & "'"Elsesql = sql & "and 书号='" & Trim(Text1.T ext & " ") & "'"End IfEnd IfIf Check2.Value = vbChecked ThenIf Trim(sql) = "" Thensql = "作者='" & Trim(Text2.T ext & " ") & "'"Elsesql = sql & "and 作者='" & Trim(Text2.T ext & " ") & "'"End IfEnd IfIf Check3.Value = vbChecked ThenIf Trim(sql) = "" Thensql = "出版单位='" & Trim(Text3.T ext & " ") & "'"Elsesql = sql & "and 出版单位='" & Trim(Text3.Text & " ") & "'"End IfEnd IfIf Check4.Value = vbChecked ThenIf Trim(sql) = "" Thensql = "分类号='" & Trim(Text4.Text & " ") & "'"Elsesql = sql & "and 分类号='" & Trim(Text4.T ext & " ") & "'"End IfEnd IfIf Trim(sql) = "" ThenMsgBox "请选择查询方式!", vbOKOnly + vbExclamationExit SubEnd Ifsql = "select * from 图书表where " & sqlrs_findbook.CursorLocation = adUseClientrs_findbook.Open sql, conn, adOpenKeyset, adLockPessimisticDataGrid1.AllowAddNew = FalseDataGrid1.AllowDelete = FalseDataGrid1.AllowUpdate = FalseSet DataGrid1.DataSource = rs_findbook'rs_findbook.CloseEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer) book_num = DataGrid1.Columns(0).CellValue(DataGrid1.Bookmark)End Sub修改密码(change(pwd):Private Sub Command1_Click()Dim rs_chang As New ADODB.RecordsetDim sql As StringIf Trim(Text1.Text) <> Trim(T ext2.Text) ThenMsgBox "密码不一致!", vbOKOnly + vbExclamation, ""Text1.SetFocusText1.Text = ""Text2.Text = ""Elsesql = "select * from 用户表where 用户名='" & userID & "'"rs_chang.Open sql, conn, adOpenKeyset, adLockPessimisticrs_chang.Fields(1) = Text1.Textrs_chang.Updaters_chang.CloseMsgBox "密码修改成功", vbOKOnly + vbExclamation, ""Unload MeEnd IfEnd SubPrivate Sub Command2_Click()Unload MeEnd Sub借书(borrow_book):Option ExplicitDim cnt As Integer '记录确定次数Private Sub Command1_Click()Dim sql As StringDim sql2 As StringDim sql3 As StringDim rs_borrow1 As New ADODB.RecordsetDim rs_borrow2 As New ADODB.RecordsetDim rs_borrow3 As New ADODB.RecordsetIf Trim(Text1.Text) = "" Then '判断输入的借书证号是否为空MsgBox "借书证号不可以为空", vbOKOnly + vbExclamation, ""Text1.SetFocusElsesql = "select * from 读者表where 借书证号='" & Text1.Text & "'"rs_borrow1.Open sql, conn, adOpenKeyset, adLockPessimisticIf rs_borrow1.EOF = True ThenMsgBox "没有这个读者", vbOKOnly + vbExclamation, ""Text1.SetFocusElse '检验书号是否正确If Trim(Text2.Text) = "" ThenMsgBox "书号不可以为空!", vbOKOnly + vbExclamation, ""Elsesql2 = "select * from 图书表where 书号='" & Text2.T ext & "'"rs_borrow2.Open sql2, conn, adOpenKeyset, adLockPessimisticIf rs_borrow2.EOF = True ThenMsgBox "对不起,没有这本书!", vbOKOnly, ""Text2.Text = ""Text2.SetFocusElseIf (rs_borrow2.Fields(4)) = "是" ThenMsgBox "对不起,此书已被借出!", vbOKOnly + vbExclamation, ""Text2.Text = ""Text2.SetFocusElsesql3 = "select * from 借书表"rs_borrow3.Open sql3, conn, adOpenKeyset, adLockPessimisticrs_borrow3.AddNewrs_borrow3.Fields("书号") = Trim(T ext2.T ext)rs_borrow3.Fields("借书证号") = Trim(T ext1.Text)rs_borrow3.Fields("借书日期") = Daters_borrow2.Fields("是否借出") = "是"rs_borrow2.Updaters_borrow3.UpdateMsgBox "借书成功!", vbOKOnly, ""Text1_ChangeText2.Text = ""End IfEnd IfEnd IfEnd IfEnd Ifcnt = cnt + 1If cnt = 8 ThenUnload MeEnd IfExit SubEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Load()cnt = 0End SubPrivate Sub Text1_Change()Dim sql1 As StringDim rs_borrow1 As New Recordsetsql1 = "select * from 借书表where 借书证号='" & Text1.Text & "'"rs_borrow1.CursorLocation = adUseClientrs_borrow1.Open sql1, conn, adOpenKeyset, adLockPessimisticSet DataGrid1.DataSource = rs_borrow1DataGrid1.AllowAddNew = FalseDataGrid1.AllowDelete = FalseDataGrid1.AllowUpdate = FalseEnd Sub还书(back_book):Option ExplicitDim cnt As Integer '记录确定次数Private Sub Command1_Click()Dim sql As StringDim sql2 As StringDim sql3 As StringDim answer As StringDim rs_borrow1 As New ADODB.RecordsetDim rs_borrow2 As New ADODB.RecordsetDim rs_borrow3 As New ADODB.RecordsetIf Trim(Text1.Text) = "" Then '判断输入的借书证号是否为空MsgBox "借书证号不可以为空", vbOKOnly + vbExclamation, ""Text1.SetFocusElsesql = "select * from 借书表where 借书证号='" & Text1.Text & "'"rs_borrow1.Open sql, conn, adOpenKeyset, adLockPessimisticIf rs_borrow1.EOF = True ThenMsgBox "这个读者没有借书,请检查输入是否有错误", vbOKOnly + vbExclamation, ""Text1.Text = ""Text1.SetFocusElse '检验书号是否正确sql3 = "select * from 图书表where 书号= '" & rs_borrow1.Fields(1) & "'"rs_borrow3.Open sql3, conn, adOpenKeyset, adLockPessimisticanswer = MsgBox("确定要还这本书吗?", vbYesNo, "")If answer = vbYes ThenIf rs_borrow1.Fields(3) <> "" ThenMsgBox "此书已经还了,按【确定】删除此条记录", vbOKOnly + vbExclamation, ""rs_borrow1.Deleters_borrow1.UpdateUnload MeElsers_borrow1.Fields(3) = Daters_borrow3.Fields(4) = "否"MsgBox "还书成功!", vbOKOnly, ""DataGrid1.AllowDelete = Falsers_borrow1.Updaters_borrow3.UpdateUnload MeEnd IfElseExit SubEnd IfEnd IfEnd Ifcnt = cnt + 1If cnt = 8 ThenUnload MeEnd IfExit SubEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Load()cnt = 0End SubPrivate Sub Text1_Change()Dim sql1 As StringDim rs_borrow1 As New Recordsetsql1 = "select * from 借书表where 借书证号='" & Text1.Text & "'" rs_borrow1.CursorLocation = adUseClientrs_borrow1.Open sql1, conn, adOpenKeyset, adLockPessimistic Set DataGrid1.DataSource = rs_borrow1DataGrid1.AllowAddNew = FalseDataGrid1.AllowDelete = FalseDataGrid1.AllowUpdate = FalseEnd Sub。
数据库课程设计-图书管理系统-附源代码(总54页)本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March毕业设计(论文)( 2013 届本科)题目:图书馆管理系统学院:信息学院专业:信息管理与信息系统班级:姓名:学号:指导教师:2013年 6 月目录1 绪论 ......................................................................................................................... 错误!未定义书签。
课题背景 ..................................................................................................... 错误!未定义书签。
本课题研究的意义和目的.......................................................................... 错误!未定义书签。
2 图书馆管理系统的分析.......................................................................................... 错误!未定义书签。
现状分 ......................................................................................................... 错误!未定义书签。
可行性分析 ................................................................................................. 错误!未定义书签。
图书管理系统源代码(一)程序代码1。
主窗口界面import java.awt。
*;import java.awt。
event.*;import javax。
swing.*;import javax.swing.border.TitledBorder;import java.awt。
Font;import javax.swing。
JMenu;public class MainWindow extends JFrame implements ActionListener { private static final long serialVersionUID = 1L;static String loginName;static String loginNo;JLabel mlabel;JPanel jp=new JPanel();//建立菜单栏JMenu a=new JMenu();JMenu b=new JMenu();JMenu c=new JMenu();//建立系统管理菜单组JMenuItem aa=new JMenuItem();JMenuItem ab=new JMenuItem();JMenuItem ac=new JMenuItem();//建立读者管理菜单组JMenuItem bb=new JMenuItem();//建立书籍管理菜单组JMenuItem ca=new JMenuItem();JMenuItem cb=new JMenuItem();JMenuItem cc=new JMenuItem();JMenuItem cd=new JMenuItem();public MainWindow(){super(”图书管理系统");addWindowListener(new WindowAdapter(){System.exit(0);}});Container d=getContentPane();this。
本人是一个初学者,2个月前学习C#,学习过程中遇到过许多困难无法独立解决,现在做成了第一个系统:图书管理系统,各项功能均能顺利实现,因为知道很多初学者和我一样苦无求学之道,现在将部分主要源码上传,希望能得到高手的指点.下面就是该系统的主要功能及代码:1。
登陆界面主要代码:public partial class LoginForm:Form{public static string uacc;public static string upsw;public static string uname;public static string usex;public static string upart;public static string uright;public LoginForm(){InitializeComponent();}private void loginbtn_Click(object sender, EventArgs e){if (this。
useracctxt.Text.Trim() == ""&&this。
pswtxt.Text == "”){MessageBox。
Show("请输入您的用户名和密码!”, ”提示!”);return;}try{string sql;sql = "select * from tb_user where uacc='" + eracctxt。
Text + ”' and upsw=’" + this.pswtxt.Text + "'";OleDbDataReader dr = DBHelp.OleReader(sql);dr。
Read();if(dr.HasRows){uacc = eracctxt。
Text;upsw = this.pswtxt。
用VB编写一个简单的图书管理系统Srl2011009(学号)石二辽(姓名)指导教师徐哲鑫【摘要】笔者采用Visual Basic 6.0 为开发工具,设计一款具备友好的图形用户界面、简便操作的图书管理系统。
充分利用计算机功能实现读者管理、书籍管理、借还书籍管理等信息的自动化控制,将使图书管理员从繁杂、重复的劳作中解放出来。
【关键词】图书;面向对象;软件工程1概述1.1开发背景用计算机管理图书馆里一切信息是一种计算机应用技术的创新,在计算机还未普及之前图书管理都是由图书管理人员手工记帐的方式来操作的.现在一般的图书馆都是采用计算机作为工具,使用实用的图书管理程序来帮助图书馆管理员进行更有效的图书管理。
1.2图书管理系统产生的背景图书管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于台数据库的建立和维护要求建立起数据一致性和完整性强、数据安全性好的库。
而对于前端应用程序则要求应用程序具备功能完备、友好的图形用户界面、便捷使用等特点[1]。
1.3 系统功能要求的分析开发本系统的总体任务是实现图书管理系统的系统化和自动化,帮助图书管理员更好更高效地完成图书管理工作,本系统要完成的功能主要有:书籍管理部分:图书类别管理和图书信息管理。
其中,书籍类别管理包括添加书籍类别、修改书籍类别、删除书籍类别等;书籍信息管理包括书籍信息的添加、修改、查询、删除等。
读者管理部分:读者类别管理和读者信息管理,读者类别管理包括读者类别添加、修改、删除等;读者信息包括读者添加读者信息、修改读者信息、查询读者信息、删除读者信息等。
借阅管理部分:借书信息管理和还书信息管理,借书信息管理、还书信息管理均包括其信息的添加、修改、查询等。
系统管理部分:添加管理员,修改密码,退出系统。
2开发环境及实现技术介绍2.1开发软件介绍由于我的工作单位是一所中心小学,有大量的书籍,读者有学生、老师,于是本人想设计一款实用的图书管理系统,方便学校图书管理员工作,增强图书借阅力度,良好地管理书籍及其借阅信息。
摘要图书馆信息管理系统是一种在学校中常用的一种系统。
它从图书的入库登记到查询浏览,从读者的管理到图书的借阅,形成了一个整体自动化管理模式。
本论文以学校的图书馆为例。
系统主要有三个方面的内容:一方面是图书管理,主要包括新书入库图书整理图书信息的修改等方面。
一方面是图书借阅,主要包括图书的借阅和归还。
第三方面是信息查询,主要包括图书目录查询读者信息查询等。
论文设计以这三个方面展开,形成一套完整的图书馆信息管理系统。
本设计为图书管理系统,是根据图书馆,用户,管理员等的实际情况为基础,是数据库系统的开发。
把它们转变为有效的数据库设计。
把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。
因此本人结合开入式图书馆的要求,对数据库管理系统、SQL语言原理、VB 应用程序设计,VB数据库技术进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。
系统运行结果证明,本文所设计的图书管理系统可以满足借阅者、图书馆管理员的需要。
关键词:图书,Visualbasic6.0,ACCESS,借阅AbstractThe library information management system is one kind in the school the commonly used one kind of system. It goes into storage from the books registers to the inquiry browsing, from reader's management to books borrowing, has formed a whole automation management pattern. The present paper take the school library as an example. The system mainly has three aspects the contents: On the one hand is the books management, mainly includes the new book to go into storage books reorganization books information aspect and so on revision. On the one hand is the books borrows, mainly includes the books to borrow and to return. The third aspect is the information inquiry, mainly includes the library catalog to inquire the reader information inquiry and so on. The paper design launches by these three aspects, forms a set of complete libraries information management system.This design for the books management system management system, is acts according to the library, the user, the manager and so on the actual situation is a foundation, is the database system development. Transforms them into the effective database design. Transforms the design into the reality database, and these databases have the function to be complete, the high efficiency application.Therefore myself unify enter the type library the request, to the database management system, the SQL language principle, the VB application programming, the VB data bank technology has carried on the thorough study and the application, mainly completes to the books management system management system demand analysis, the function module division, the database pattern analysis, and from this has designed the database structure and the application procedure. The system movement result proved, this article designs the books management system management system may satisfied borrowing, librarian's need.Key word: The books, Visualbasic6.0, ACCESS, borrows目录摘要 (I)ABSTRACT ........................................................... I I 第一章绪论.. (1)1.1课题背景 (1)1.2课题来源和意义 (2)1.3国内外发展概况 (2)1.4系统可行性分析 (3)第二章系统开发技术 (5)2.1系统的架构 (5)2.2系统运行环境操作系统 (5)2.3系统开发环境 (5)2.4开发工具 (6)第三章总体设计 (9)3.1 系统调查 (9)3.2 数据字典 (10)3.3 软件模块结构设计 (11)3.4 数据库设计 (12)3.4.1 概念结构设计 (13)第四章系统实现 (17)4.1登录界面 (17)4.2 系统主界面 (18)4.3 模块功能的实现 (19)第五章结束语 (30)致谢 (31)参考文献 (32)第一章绪论1.1课题背景数据库应用系统开发简介在数据库应用系统开发之前,对开发数据库的基本概念应当了解,对数据库的结构、开发数据库应用程序的步骤、开发体系及方法都应当有相当清晰的了解和认识。
程序设计综合训练<图书馆管理系统>设计报告院系:材料科学与工程学院专业班级:材料成型一班*名:***学号: ***********指导老师:肖老师一、程序功能简介图书排序功能1)按图书编号排序可以按图书编号的大小排序,显示到屏幕上。
(从小到大)2)按图书出版时间排序可以按图书出版时间的前后排序,显示到屏幕上。
(从近到远)3)按图书价格排序可以按图书价格的贵宜排序,显示到屏幕上。
(从便宜到贵)4)按图书书名排序可以按图书书名字符的大小排序,显示到屏幕上。
(从小到大)5)按图书作者名排序可以按图书作者名字符的大小排序,显示到屏幕上。
(从小到大)二、本人完成的主要工作图书排序功能(排序比较简单只要做出来一个,其他都和它雷同。
)三、设计方案1.设计分析;1)序功能简介:s2)各个功能流程图1、按图书编号排序2、按图书出版时间排序3、按图书价格排序4、按图书书名排序5、按图书作者名排序2. 操作方法简介; 1)主面板输入密码9进入系统。
输入排序的功能序号5是 输入y/n 进,输入n 的话返回到主菜单Y/n是(y)显示排序否(n )按Enter2)主菜单按4进入排序功能。
2)排序功能目录3)选择功能(比如3)按价格的大小排序3.实验结果(包括输入数据和输出结果)四、设计体会在期末课程设计中,我们所选择的是设计一个图书管理系统,这对我们来说是一次尝试与创新的过程,也可以说是一个挑战的过程,毕竟以前没有作过,缺少经验。
现在利用自己学到的知识设计并制作一个图书管理系统,这本身就是一个知识转化为生产力的过程,所以大家都很兴奋,不同程度的投入了很高的热情与努力。
在具体的设计与实施中,我们看到并感受到了一个管理系统从无到有的过程,对具体的设计步骤、思路、方法、技巧都有了进一步的了解,并感受深刻。
在设计中我们基本能按照规范的方法和步骤进行,首先对现有的系统进行调查,并查阅有关资料,最后确定设计方案,然后设计并制作,实施过程中我们深刻的认识到认真执行管理系统软件标准的重要性,我们由于对管理系统软件相关的标准和规范不太了解,缺少行为操作准则,所以在设计中手法比较生硬,主与次也没能很好把握住,这些方面通过这次我们都要加强了解。
图书管理系统源代码1. 简介图书管理系统是一种用于管理图书馆或书店中图书信息的软件系统。
它主要提供了图书的添加、编辑、删除、查询等功能,便于管理人员对图书信息进行集中管理,同时也能方便读者进行图书的查询和借阅操作。
本文档将介绍一个基于Python的简单图书管理系统的源代码,以及其使用说明和功能演示。
2. 系统设计2.1 使用的库该图书管理系统使用了以下Python库来实现不同功能:•Tkinter:用于GUI界面的设计和实现。
•SQLite3:用于图书信息的持久化存储。
2.2 数据库设计在该图书管理系统中,我们使用了一个简单的图书信息表来存储图书的相关信息。
该表包含以下字段:•book_id:图书ID,唯一标识一个图书。
•book_title:图书标题,描述图书的名称。
•book_author:图书作者,描述图书的作者信息。
•book_publisher:图书出版商,描述图书的出版商信息。
2.3 功能设计该图书管理系统实现了以下功能:•添加图书:管理员可以添加一本新的图书到系统中。
•编辑图书:管理员可以编辑已存在的图书信息。
•删除图书:管理员可以从系统中删除指定的图书。
•查询图书:管理员和读者都可以根据图书的标题、作者或出版商来查询图书信息。
3. 源代码以下是该图书管理系统的源代码(使用Python编写):```python import tkinter as tk import sqlite3连接到数据库conn = sqlite3.connect(’library.db’) c = conn.cursor()创建图书信息表c.execute(’’’ CREATE TABLE IF NOT EXISTS books ( book_id INTEGER PRIMARY KEY AUTOINCREMENT, book_title TEXT, book_author TEXT, book_publisher TEXT ) ’’’)窗口初始化window = () window.title(。
图书管理系统一.图书管理系统需求分析及设计概要1. 系统的功能要求根据高校图书管理的实际要求,结合本系统开发的要求,对与所要介绍的“图书管理系统”的需求实现如下功能:1、书籍管理部分:这一部分包括书籍类别管理和书籍信息管理两部分,其中书籍类别管理包括添加书籍类别、修改书籍类别等;书籍信息管理包括书籍信息的添加、书籍信息的修改、书籍信息的查询、书籍信息的删除等。
2、读者管理部分:这一部分包括读者类别管理和读者信息管理两部分。
其中读者类别管理包括添加读者类别、修改读者类别;读者信息管理包括添加读者信息、修改读者信息、删除读者信息、查询读者信息等。
3、借阅管理部分:这一部分包括借书信息管理和还书信息管理两部分。
其中,借书信息管理包括借书信息的添加、借书信息的修改、借书信息的查询等;还书信息管理部分包括还书信息的添加、还书信息的修改、还书信息的查询等4、系统管理:包括修改系统用户密码,增加新用户以及退出系统等。
2.系统的需求分析图书馆是一家所有工作手工操作的机构,随着计算机的发展,更多的图书馆采用计算机图书管理系统来实现,这样可以得到更好的管理。
目前,从设计一—采购——编目——流通——管理,一体化的图书馆系统。
主要表现在:(一)采购,对新书的目录,要查存,判断图书馆是不是已经订过了,要人工查阅帐本完成,是很麻烦的事。
(二)验证,要填写两个帐本和盖章,而且在帐本上面很多信息是重复的。
(三)编目,通过手工对书编目,对不同种类的书都要查找书是否已有,如果没有的话对新的书进行查阅中图法宝典来要编目,并且还有填写跟书卡,和大量的查阅用的卡片。
这块消耗的人力最大了。
(四)流通,在借书的时候要填写跟书卡和借书证并保管跟书卡做为借条;在还书的时候工作人员先要花一定时间把保管的跟书卡先找出来,再填写跟书卡和借书证。
然后再把跟书卡和书夹在一起,工作人员要消耗很多时间,大大降低了工作效率。
(五)无法统计书的阅读次数、当天的借还数目等很多统计信息。
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("已借书数")) If Val(Trim(Text2(2).Text)) > 0 Then xm = rs.Fields("姓名") dw = rs.Fields("单位") Comm2.Enabled = True Else MsgBox "该读者已借满图书,不能再借!", vbOKOnly, "信息提示" Comm2.Enabled = False End If End If End If End Sub
Private Sub Comm2_Click() If Val(Trim(Text2(2).Text)) = 0 Then MsgBox "该读者已借满图书,不能再借!", vbOKOnly, "信息提示" Comm2.Enabled = False Exit Sub End If bno = Trim(Text1(1).Text) If bno = "" Then MsgBox "图书编号不能为空,请输入", vbOKOnly, "信息提示" Comm2.Enabled = False Else sqltxt = "select * from book where 图书编号='" + bno + "'" Set bs = exesql(sqltxt) If bs.RecordCount = 0 Then MsgBox "图书编号不正确,请重新输入", vbOKOnly, "信息提示" Else If bs.Fields("借否") = "借" Then MsgBox "该图书编号对应的图书已借出,不能再借!", vbOKOnly, "信息提示" Else sqltxt = "select * from borrow" Set brs = exesql(sqltxt) brs.AddNew brs.Fields("图书编号") = bno brs.Fields("书名") = bs.Fields("书名") brs.Fields("作者") = bs.Fields("作者") brs.Fields("出版社") = bs.Fields("出版社") brs.Fields("借书证号") = rno brs.Fields("姓名") = xm brs.Fields("单位") = dw brs.Fields("借书日期") = Date brs.Update bs.Fields("借否") = "借" bs.Update rs.Fields("已借书数") = rs.Fields("已借书数") + 1 rs.Update 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 = recs - 1 Call encomm End If End Sub
Private Sub Comm4_Click() Unload Me 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 book where " + str Adodc1.Refresh Else