




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验报告课程名称: 人机交互与用户界面 实验项目: 图书管理界面的实现 专业班级: 软件工程0902班 姓 名: 刘希桐 学 号: 091202053 实验室号: 实验组号: 实验时间: 批阅时间: 指导教师: 成 绩: 沈阳工业大学报告专业班级: 软件工程0902班 学号: 091202053 姓名: 刘希桐 实验名称:图书管理系统1.实验目的:(1)利用数据库的基本知识;(2)利用VB可视化程序设计方法(3)利用C+Builder或VB或VC或PB等可视化开发工具连接数据库,访问数据库,实现数据库的增删改查等操作;2.实验内容:通过visual basic连接access2003访问数据库,设计图书成绩管理系统,实现数据库的增加,插入,修改,查询。3. 实验方案(程序设计说明)具体功能如下:l 实现读者的插删改功能l 实现图书的插删改功能l 实现图书查询功能l 实现图书借出归还功能l 实现借阅历史查询功能l 实现不同权限用户登录功能l 实现查看软件信息功能4. 实验步骤或程序(经调试后正确的源程序)首先,实现代码的输入,功能见右图Option ExplicitPrivate Sub MDIForm_Load() MDIForm1.Icon = LoadPicture(App.Path & SX.ico)End SubPrivate Sub mnuAbout_Click() frmAbout.Show vbModalEnd SubPrivate Sub mnuAddNew_Click() frmAddNew.Show vbModalEnd SubPrivate Sub mnuAddR_Click() frmAddR.Show vbModalEnd SubPrivate Sub mnuBookAdd_Click() frmBookAdd.Show vbModalEnd SubPrivate Sub mnuBookB_Click() frmBookB.Show vbModalEnd SubPrivate Sub mnuBookDelete_Click() frmBookDelete.Show vbModalEnd SubPrivate Sub mnuBookEdit_Click() frmBookEdit.Show vbModalEnd SubPrivate Sub mnuBookFind_Click() frmBookFind.ShowEnd SubPrivate Sub mnuBookR_Click() frmBookR.Show vbModalEnd SubPrivate Sub mnuEditP_Click() frmEditP.Show vbModalEnd SubPrivate Sub mnuExit_Click() EndEnd SubPrivate Sub mnuRDelete_Click() frmRDelete.Show vbModalEnd SubPrivate Sub mnuREdit_Click() frmREdit.ShowEnd SubPrivate Sub mnuSearch_Click() frmSearch.ShowEnd Sub2.实现借阅查询功能Option ExplicitPrivate Sub cmdSearch_Click() On Error Resume Next rs1.Close rs1.CursorLocation = adUseClient If Opt1.Value = True Then rs1.Open Select * From 借阅记录 Where 读者编号 = & Text1.Text & , cn, adOpenKeyset, adLockOptimistic Else rs1.Open Select * From 借阅记录 Where 书号 = & Text1.Text & , cn, adOpenKeyset, adLockOptimistic End If Set DataGrid1.DataSource = rs1End SubPrivate Sub Form_Load() cn.Open Provider=Microsoft.Jet.oledb.4.0;Data Source= & App.Path & Library.mdb Icon = LoadPicture(App.Path & SX.ico)End SubPrivate Sub Form_Unload(Cancel As Integer) cn.CloseEnd Sub3.实现读者编辑功能Option ExplicitPrivate Sub cmdCancel_Click()Unload MeEnd SubPrivate Sub cmdEdit_Click() If txt(0).Text = Or txt(1).Text = Or txt(2).Text = Or txt(3).Text = Then MsgBox 请选择需要修改的读者数据行!, vbCritical, 警告 Exit Sub Else If rs1.Fields(0) txt(0).Text Then MsgBox 请单击行标选择需要修改的读者数据行!, vbCritical, 警告 Exit Sub Else If MsgBox(确认要修改么?, vbYesNo, 提示) = vbYes Then Dim i As Integer For i = 0 To 3 rs1.Fields(i) = txt(i).Text Next i rs1.UpdateBatch adAffectCurrent MsgBox 修改成功, , 提示 End If End If End IfEnd SubPrivate Sub DataGrid1_Click() Dim i As Integer For i = 0 To 3 txt(i) = rs1.Fields(i) Next iEnd SubPrivate Sub Form_Load() txt(0).Enabled = False cn.Open Provider=Microsoft.Jet.oledb.4.0;Data Source= & App.Path & Library.mdb rs1.CursorLocation = adUseClient rs1.Open 读者库, cn, adOpenKeyset, adLockOptimistic Set DataGrid1.DataSource = rs1 Icon = LoadPicture(App.Path & SX.ico)End SubPrivate Sub Form_Unload(Cancel As Integer) rs1.Close cn.CloseEnd Sub4.实现读者删除Option ExplicitPrivate Sub cmdCancel_Click()Unload MeEnd SubPrivate Sub cmdEdit_Click() If txt(0).Text = Or txt(1).Text = Or txt(2).Text = Or txt(3).Text = Then MsgBox 请单击行标选择需要修改的读者行!, vbCritical, 警告 Exit Sub Else If rs1.Fields(0) txt(0).Text Then MsgBox 请单击行标选择需要修改的读者数据行!, vbCritical, 警告 Exit Sub Else If MsgBox(确认删除读者么?, vbYesNo, 提示) = vbYes Then rs1.Delete adAffectCurrent rs1.UpdateBatch adAffectCurrent rs1.MoveLast Dim i As Integer For i = 0 To 3 txt(i) = Next i End If MsgBox 删除成功!, , 提示 End IfEnd IfEnd SubPrivate Sub DataGrid1_Click() Dim i As Integer For i = 0 To 3 txt(i) = rs1.Fields(i) Next iEnd SubPrivate Sub Form_Load() txt(0).Enabled = False cn.Open Provider=Microsoft.Jet.oledb.4.0;Data Source= & App.Path & Library.mdb rs1.CursorLocation = adUseClient rs1.Open 读者库, cn, adOpenKeyset, adLockOptimistic Set DataGrid1.DataSource = rs1 Icon = LoadPicture(App.Path & SX.ico)End SubPrivate Sub Form_Unload(Cancel As Integer) rs1.Close cn.CloseEnd Sub5.实现界面登录功能Option ExplicitDim strA As StringDim intA As IntegerDim intCount As IntegerDim intTimer As IntegerPrivate Sub cmdCancel_Click() EndEnd SubPrivate Sub cmdOk_Click() If Text1.Text = Or Text2.Text = Then MsgBox 请输入完整的用户名及密码!, vbCritical, 警告 Else rs1.Open Select * From 系统设置 Where 用户名= & Text1.Text & , cn, adOpenKeyset, adLockOptimistic strA = rs1.Fields(1) intA = rs1.RecordCount rs1.Close If intA = 0 Then MsgBox 无此用户!, vbCritical, 警告 Exit Sub Else If Text2.Text = strA Then MDIForm1.Show rs1.Open Select 权限 From 系统设置 Where 用户名= & Text1.Text & , cn, adOpenKeyset, adLockOptimistic If rs1.Fields(0) = Guest Then BlnQX = False Call QX End If rs1.Close Unload Me Else MsgBox 密码错误!, vbCritical, 提示 intCount = intCount + 1 If intCount = 3 Then MsgBox 密码错误登录次数超过限制次数!, vbCritical, 警告 End End If Exit Sub End If End If End IfEnd SubPrivate Sub Form_Load() intCount = 0 intTimer = 1 Label3.Caption = Date & & Time() cn.Open Provider=Microsoft.Jet.oledb.4.0;Data Source= & App.Path & Library.mdb Icon = LoadPicture(App.Path & SX.ico)End SubPrivate Sub Form_Unload(Cancel As Integer) cn.CloseEnd SubPrivate Sub Timer1_Timer() Label3.Caption = Date & & Time() If intTimer = 1 Then Label3.Left = Label3.Left - 20 If Label3.Left 2500 Then intTimer = 1 End IfEnd Sub7.实现修改密码功能Option ExplicitDim rs As New ADODB.RecordsetPrivate Sub cmdNo_Click()Unload MeEnd SubPrivate Sub cmdOk_Click() If txt(0).Text = Or txt(1).Text = Or txt(2).Text = Then MsgBox 请输入完整的信息!, vbCritical, 警告 Else rs.Open Select 密码 From 系统设置 Where 用户名= & txt(0).Text & , cn, adOpenKeyset, adLockOptimistic If txt(1).Text rs.Fields(0) Then MsgBox 用户名或原密码错误!, vbCritical, 警告 rs.Close Exit Sub Else rs.Fields(0) = txt(2).Text rs.Update rs.Close MsgBox 密码修改成功!, , 恭喜 End If End IfEnd SubPrivate Sub Form_Load() cn.Open Provider=Microsoft.Jet.oledb.4.0;Data Source= & App.Path & Library.mdb Icon = LoadPicture(App.Path & SX.ico)End SubPrivate Sub Form_Unload(Cancel As Integer) cn.CloseEnd Sub8.实现图书归还功能Option ExplicitPrivate Sub cmdCancel_Click()Unload MeEnd SubPrivate Sub cmdR_Click() rs4.Open Select * From 书库 Where 书号= & Text1.Text & , cn, adOpenKeyset, adLockOptimistic If rs4.Fields(6) = No Then rs4.Close If Text1.Text = Or Text2.Text = Or Text3.Text = Then MsgBox 请输入完整的数据!, vbCritical, 警告 Else rs2.Open Select * From 借阅记录 Where 书号= & Text1.Text & And 读者编号= & Val(Text2.Text) & , cn, adOpenKeyset, adLockOptimistic rs2.Fields(4) = Text3.Text rs2.UpdateBatch adAffectCurrent rs2.Close rs4.Open Select * From 书库 Where 书号= & Text1.Text & , cn, adOpenKeyset, adLockOptimistic rs4.Fields(6) = Yes rs4.UpdateBatch adAffectCurrent rs4.Close MsgBox 已经办理好归还手续!, , 提示 End If Else MsgBox 该书已在库!, vbCritical, 提示 rs4.Close End IfEnd SubPrivate Sub Form_Load() cn.Open Provider=Microsoft.Jet.oledb.4.0;Data Source= & App.Path & Library.mdb Text3.Text = Date Text3.Enabled = False Icon = LoadPicture(App.Path & SX.ico)End SubPrivate Sub Form_Unload(Cancel As Integer) cn.CloseEnd Sub9.实现图书查询功能Option ExplicitPrivate Sub cmdSearch_Click() On Error Resume Next rs1.Close rs1.CursorLocation = adUseClient rs1.Open Select * From 书库 Where & Combo1.Text & = & txt_Search.Text & , cn, adOpenKeyset, adLockOptimistic Set DataGrid1.DataSource = rs1 If rs1.RecordCount = 0 Then MsgBox 查无此书 End SubPrivate Sub Form_Load() cn.Open Provider=Microsoft.Jet.oledb.4.0;Data Source= & App.Path & Library.mdb Combo1.AddItem 书号 Combo1.AddItem 书名 Combo1.AddItem 作者 Combo1.AddItem 出版社 Combo1.AddItem 类别 Icon = LoadPicture(App.Path & SX.ico)End SubPrivate Sub Form_Unload(Cancel As Integer) cn.CloseEnd Sub10.实现图书编辑功能Option ExplicitPrivate Sub cmdCancel_Click() Unload MeEnd SubPrivate Sub cmdEdit_Click()If txt(0).Text = Or txt(1) = Or txt(2) = Or txt(3) = Or txt(4) = Or Combo1.Text = Then MsgBox 请单击行标选择需要修改的图书行, vbCritical, 提示 Exit SubElse If txt(0) rs1.Fields(0) Then MsgBox 请单击行标选择需要修改的图书行, vbCritical, 提示 Else If MsgBox(确认要修改么?, vbYesNo, 提示) = vbYes Then Dim i As Integer For i = 0 To 4 rs1.Fields(i) = txt(i).Text Next i rs1.Fields(5) = Combo1.Text rs1.UpdateBatch adAffectCurrent MsgBox 修改成功, , 提示 End If End IfEnd IfEnd SubPrivate Sub DataGrid1_Click() Dim i As Integer For i = 0 To 4 txt(i).Text = rs1.Fields(i) Next i Combo1.Text = rs1.Fields(5)End SubPrivate Sub Form_Load() cn.Open Provider=Microsoft.Jet.oledb.4.0;Data Source= & App.Path & Library.mdb rs1.CursorLocation = adUseClient rs1.Open 书库, cn, adOpenKeyset, adLockOptimistic Set DataGrid1.DataSource = rs1 txt(0).Enabled = False Icon = LoadPicture(App.Path & SX.ico)End SubPrivate Sub Form_Unload(Cancel As Integer) rs1.Close cn.CloseEnd Sub11.实现图书删除功能Option ExplicitPrivate Sub cmdCancel_Click() Unload MeEnd SubPrivate Sub cmdDelete_Click()If txt(0).Text = Or txt(1) = Or txt(2) = Or txt(3) = Or txt(4) = Or Combo1.Text = Then MsgBox 请单击行标选择需要修改的图书行, vbCritical, 提示 Exit SubElse If txt(0) rs1.Fields(0) Then MsgBox 请单击行标选择需要修改的图书行, vbCritical, 提示 Else If MsgBox(确认删除读者么?, vbYesNo, 提示) = vbYes Then rs1.Delete adAffectCurrent rs1.UpdateBatch adAffectCurrent rs1.MoveLast Dim i As Integer For i = 0 To 4 txt(i) = Next i Combo1.ListIndex = -1 End If MsgBox 删除成功!, , 提示 End IfEnd IfEnd SubPrivate Sub DataGrid1_Click() Dim i As Integer For i = 0 To 4 txt(i).Text = rs1.Fields(i) Next i Combo1.Text = rs1.Fields(5)End SubPrivate Sub Form_Load() cn.Open Provider=Microsoft.Jet.oledb.4.0;Data Source= & App.Path & Library.mdb rs1.CursorLocation = adUseClient rs1.Open 书库, cn, adOpenKeyset, adLockOptimistic Set DataGrid1.DataSource = rs1 txt(0).Enabled = False Icon = LoadPicture(App.Path & SX.ico)End SubPrivate Sub Form_Unload(Cancel As Integer) rs1.Close cn.CloseEnd Sub12.实现图书借出功能Option ExplicitPrivate Sub cmdB_Click() If Text1(0).Text = Or Text2(0).Text = Or Text3.Text = Then MsgBox 请输入完整的数据!, vbCritical, 警告 Exit Sub Else rs1.Open Select * From 书库 Where 书号= & Text1(0).Text & , cn, adOpenKeyset, adLockOptimistic If rs1.Fields(6) = Yes Then rs1.Close Dim temp1 As String, temp2 As String rs1.Open Select * From 书库 Where 书号= & Text1(0).Text & , cn, adOpenKeyset, adLockOptimistic temp1 = rs1.Fields(1) rs1.Close rs1.Open Select * From 读者库 Where 读者编号= & Text2(0).Text & , cn, adOpenKeyset, adLockOptimistic temp2 = rs1.Fields(1) rs1.Close rs1.Open 借阅记录, cn, adOpenKeyset, adLockOptimistic rs1.AddNew rs1.Fields(1) = Text1(0).Text rs1.Fields(2) = temp1 rs1.Fields(3) = Text3.Text rs1.Fields(5) = Text2(0).Text rs1.Fields(6) = temp2 rs1.UpdateBatch adAffectCurrent rs1.Close rs1.Open Select * From 书库 Where 书号= & Text1(0).Text & , cn, adOpenKeyset, adLockOptimistic rs1.Fields(6) = No rs1.UpdateBatch adAffectCurrent rs1.Close MsgBox 已办理好借阅手续!, , 提示 Else MsgBox 该书已经被借出, vbCritical, 提示 rs1.Close End If End IfEnd SubPrivate Sub cmdCancel_Click() Unload MeEnd SubPrivate Sub Form_Load() cn.Open Provider=Microsoft.Jet.oledb.4.0;Data Source= & App.Path & Library.mdb Text3.Text = Date Text3.Enabled = False Icon = LoadPicture(App.Path & SX.ico)End SubPrivate Sub Form_Unload(Cancel As Integer) cn.CloseEnd Sub13.实现图书添加功能Option ExplicitPrivate Sub cmdAdd_Click() Dim i As Integer If txt(0).Text = Or txt(1).Text = Or txt(2).Text = Or txt(3).Text = Or txt(4).Text = Or Combo1.Text = Then MsgBox 请输入完整的信息!, vbCritical, 警告 Exit Sub Else rs1.AddNew For i = 0 To 4 rs1.Fields(i) = txt(i).Text Next i rs1.Fields(5) = Combo1.Text rs1.Fields(6) = Yes rs1.UpdateBatch adAffectCurrent End If MsgBox 图书新增成功!, , 提示 txt(0).Text = ISBN- & Right(rs1.Fields(0), 1) + 1 For i = 1 To 4 txt(i).Text = Next i Combo1.ListIndex = -1End SubPrivate Sub cmdCancel_Click() Unload MeEnd SubPrivate Sub Form_Load() cn.Open Provider=Microsoft.Jet.oledb.4.0;Data Source= & App.Path & Library.mdb rs1.Open 书库, cn, adOpenKeyset, adLockOptimistic rs1.MoveLast txt(0).Text = ISBN- & Right(rs1.Fields(0), 1) + 1 txt(0).Enabled = False Combo1.AddItem 技术类 Combo1.AddItem 非技术类 Icon = LoadPicture(App.Path & SX.ico)End SubPrivate Sub Form_Unload(Cancel As Integer) rs1.Close cn.CloseEnd Sub14.实现读者新增功能Option ExplicitPrivate Sub cmdCancel_Click() Unload MeEnd SubPrivate Sub cmdOk_Click() Dim i As Integer If txt(0).Text = Or txt(1).Text = Or txt(2).Text = Or txt(3).Text = Then MsgBox 请输入完整的信息! Else rs1.Open 读者库, cn, adOpenKeyset, adLockOptimistic rs1.AddNew For i = 0 To 3 rs1.Fields(i) = txt(i).Text Next i rs1.Update MsgBox 添加新用户成功!, , 恭喜 txt(0).Text = rs1.Fields(0) + 1 For i = 1 To 3 txt(i).Text = Next i End IfEnd SubPrivate Sub Form_Load() cn.Open Provider=Microsoft.Jet.oledb.4.0;Data Source= & App.Path & Library.mdb rs1.Open 读者库, cn, adOpenKeyset, adLockOptimistic If rs1.RecordCount = 0 Then txt(0).Text = 1 Else rs1.MoveLast txt(0).Text = rs1.Fields(0) + 1 自动设置读者编号 避免读者编号重复 End If rs1.Close txt(0).Enabled = False Icon = LoadPicture(App.Path & SX.ico)End SubPrivate Sub Form_Unload(Cancel As Integer) cn.CloseEnd Sub15.实现用户新增功能Option ExplicitDim rs As New ADODB.RecordsetPrivate Sub cmdNo_Click() Unload MeEnd SubPrivate Sub cmdOk_Click() I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 灯光考试有哪几项题目及答案
- 田径晋级考试题目及答案
- 2025年公需科目考试试题库及答案
- 2025年公需科目诚信体系建设考试试题(含答案)
- 2025秋季开学第一课校长致辞:在金秋的起点上奔赴更“有品”的自己
- 2025年高危儿管理专科考核试题及答案
- 2025年高级美容师理论基础知识资格考试复习题库和答案
- 2025年高级会计师之高级会计实务通关考试题库带答案解析
- 计划与建设管理办法
- 论文警务化管理办法
- 2025四年级班主任心理健康教育计划
- 第二课 创新驱动发展 教学分析课件-2022-2023学年道德与法治九年级上册
- 以水为界:洱海流域产业结构优化与水环境协同发展探究
- 从抽象到现实:马克思现实的个人对抽象人的理论超越与时代价值
- 肺动脉高压个案护理
- 2025至2030中国模块化变电站行业发展趋势分析与未来投资战略咨询研究报告
- 丙酮储存使用管理制度
- 产品安全追溯管理制度
- 护理事业十五五发展规划(2026-2030)
- 大数据风控与信用评估体系
- 生物制造中试能力建设平台培育指南(2025版)
评论
0/150
提交评论