版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信息系统开发与管理(PB)实训实训指导书 图书信息管理系统中加高等应用技术学院一、实训具体按排和要求1、实训对象:11,12级计算机2、实训时间:19-20周(64学时)3、实训内容:开发图书信息管理系统4、实训目的:(1) 进一步熟悉 VB(PB)的集成开发环境,掌握VB(PB)设计应用程序的主要步骤,从而加深对面向可视化对象编程方法的认识。(2) 了解并初步掌握用VB(PB)开发应用程序界面、图形图像、数据库、多媒体等实用内容。(3) 通过实训巩固一学期来所学到的VB(PB)知识,熟练掌握计算机操件技能,培养开发的思想,同时产生浓厚的兴趣,为今后进一步学习打下基础。5、实训要求说明: 指导
2、书给出的内容只是完成基本功能,其它功能请查阅相关参考书。 实训上机期间,每个学生都要按时按量独立完成实训的内容。如有违纪者,将取消其实训的上机资格,并且其实训成绩当零分处理。 实训期间要严格按照实训报告格式要求认真书写实训报告(电子档与手写稿(或打印稿),实训结束后将实训作品和实训报告一起上交指导老师批改、评分。 实训后期,将酌情安排现场测试与答辩,并将此项分数按一定比例打入实训成绩总评。二、实训报告(设计说明书)书写的格式要求1、实训报告封面要依次填写设计的科目、题目、专业、班级、姓名、学号、日期、指导老师等项目。2、报告内页书写的具体内容应包含以下几个方面:1) 实训名称:即实训题目。2)
3、 实训目的:即通过本次实训要得到哪些方面的主要训练,将学会掌握哪些相关专业技能。3) 实训环境:既设备(硬件、系统平台)、开发工具、方法手段等。4) 实训计划:做出本次实训的总体计划并制定出实施计划的具体步骤(可按完成功能模块来划分)及进度安排,列出时间表。5) 关键技术与解决途径:本次实训的技术要点(可按实训计划里制定的具体步骤一一编写),并要求写出如何解决这些技术要点(要求编写源代码并附上代码说明,必要时请附上截图)。6) 自我评价:即总结本次实训的个人心得体会。包括对这次实训任务完成情况的评价;实训的收获与预期目标是否一致的评价以及对实训组织、安排、管理等方面的评价。这部分不仅要求写出问
4、题,更希望写出你的建议。三、实训成绩的评定标准指导老师根据学生实训期间的表现、实训内容的完成情况以及所写的实训报告(设计说明书)给予该生优、良、中、及格、不及格等综合评定等级,并作为该实训课程的期评成绩上报成绩。四、本次实训的具体内容:图书信息管理系统系统功能分析:l 读者基本信息的输入l 读者基本信息的查询(要求能按读者编号进行查询)l 读者基本信息的修改l 图书信息的输入l 图书信息的修改l 借阅信息的查询(要求能根据人来查书、根据书来查人)l 读者借书l 读者还书以下是附加的功能:(选做)l 根据读者姓名来查询读者信息l 根据书名来查询图书信息l 利用新窗口来修改读者信息和图书信息显示所
5、有图书查询单册增加新书删除图书根据书来查人根据人来查书显示所有借阅情况借书还书查询一个读者增加一个读者删除一个读者显示所有读者读者管理图书管理借阅管理图书管理系统系统功能模块: 一、图书信息管理系统功能介绍1主界面图1 程序运行后主界面的效果如图1所示。可以看到,窗体的上部是菜单栏,包含3个菜单项,即:读者管理、图书管理和借阅管理。2读者管理选择菜单“读者管理”,如图2所示,该菜单项中有4个子菜单项:显示所有读者、查询一个读者、增加一个读者和删除一个读者。选择菜单“读者管理显示所有读者”,则在主界面的数据表格中列出所有的读者信息,如图3所示。选择菜单“读者管理查询一个读者”,弹出对话框如图4所
6、示,要求输入要查询的读者编号信息。输入读者编号后单击“查询”按钮,则在主界面的数据表格中列出该读者的信息;否则,系统提示用户“查无此人”。选择菜单“读者管理增加一个读者”,弹出对话框如图5所示,要求输入读者编号和读者姓名,输入完整的信息后单击保存按钮,系统判断是否可以向数据库中添加该读者信息,如果添加成功,则在主界面的数据表格中列出数据库中所有的读者信息。选择菜单“读者管理删除一个读者”,弹出对话框如图6所示,要求输入读者编号,输入完整的信息后单击“删除”按钮,若该删除操作成功,则在主界面的数据表格中显示剩余的所有读者信息。 图2 图3 图4图5 图63图书管理选择菜单“图书管理”,如图7所示
7、,该菜单项中有4个子菜单项:显示所有图书、查询单册、增加新书和删除图书。该菜单项功能与读者管理部分类似,在此不再重复。4借阅管理选择菜单“借阅管理”,如图8所示。该菜单项中有5个子菜单项:显示所有借阅情况、借书、还书、根据书来查人和根据人来查书。图7 图8选择菜单“借阅管理显示所有借阅情况”,则在主界面的数据表格中显示所有的借阅记录。选择菜单“借阅管理借书”,弹出对话框如图9所示,要求用户输入所借图书编号和读者编号。输入完整的信息后单击“借书”按钮,如果借书成功,则在主界面的数据表格中列出当前读者的借阅情况。选择菜单“借阅管理还书”,弹出对话框如图10所示,要求输入所借图书编号,输入完整的信息
8、后单击“还书”按钮,如果还书成功,则在主界面的数据表格中列出当前读者还书后的借阅情况。 图9 图10选择菜单“借阅管理根据人来查书”,弹出对话框如图11所示,要求输入读者编号,输入完整的信息后单击“查询”按钮,如果查询操作成功,则在主界面的数据表格中列出当前读者所有的借阅情况。选择菜单“借阅管理根据书来查人”,弹出对话框如图12所示,系统显示相应的信息提示,如果查询操作成功,则在主界面的数据表格中列出当前图书的借阅情况。 图11 图12二、创建数据库打开Access,建立一个名为bookdb的数据库,数据库中有两张数据表:book、borrow和reader 。三张表的字段信息如下:表1 bo
9、ok表项内容字段名称数据类型字段大小bookid文本15bookname文本100bookstate文本4(将bookid字段设为主键)表2 borrow表项内容字段名称数据类型字段大小bookid文本15readerid文本15(将bookid字段设为主键)表3 reader表项内容字段名称数据类型字段大小readerid文本15readername文本20booknum文本4(将readerid字段设为主键)三、创建数据源(ODBC)基于SQL的ODBC(Open DataBase Connectivity,开放式数据库连接)是Microsoft公司在1989年退出的连接外部数据库的标准,
10、若采用这套标准,一个应用程序就可以通过一组通用的代码访问不同的数据库管理系统。在Windows XP操作系统环境下,本实例的ODBC设置步骤如下:1 进入“控制面板管理工具”,双击“数据源(ODBC)”,出现“ODBC数据源管理器”,如图13所示。 图13 图142 单击“添加”按钮,出现创建数据源对话框,如图14所示。3 选择“Driver Do Microsoft Access (*.mdb)”,单击完成按钮,出现ODBC Microsoft Access安装对话框,如图15所示,在数据源一项中输入“book”。4 单击“选择”按钮,出现选择数据库对话框,如图16所示,首先选择数据库所在的
11、驱动器,然后在目录中选择数据库的路径,这样在“数据库名”一栏中就会列出相应的Access数据库,然后单击选定数据库“bookdb”。 图15 图165 单击确定按钮,系统自动返回ODBC数据源管理器,数据源“book”创建成功。四、图书管理系统实现该图书管理系统的工程名称为BookManSys.vbp,该工程包含所有文件如图17所示。 图171新建工程新建工程,并在工程资源管理器中将工程名称属性改为:BookManSys.vbp。选择菜单“工程部件”,从控件列表中选中如下选项:Microsoft ADO Data Control 6.0 (OLEDB)Microsoft DataGrid Co
12、ntrol 6.0 (OLEDB)(1) 在“工程资源管理器”窗口中单击鼠标右键,选择“添加添加模块”。单击打开按钮,然后在该模块的“代码编辑窗口”中添加代码如下:Public ActFlag As Boolean2FrmMain窗体FrmMain窗体的设计步骤如下:(2) 选中“Form1”窗体,将该窗体的“名称”属性改为“frmMain”,“Caption”属性改为“图书管理系统”。在窗体上设计一个菜单,该菜单结构见表4。(3) 在窗体上添加一个框架控件(Frame),将其“Caption”属性删除,“BorderStyle”属性选择“0None”。在Fram1中添加一个数据表格(Data
13、Grid),将其“名称”属性设置为“DataGrid”,“Visible”属性设置为False。(4) 向窗体中添加两个ADO数据控件(Adodc),将“Adodc1”的“名称”属性设置为“Adodc”,将“Adodc2”的“名称”属性设置为“AdodcTemp”,“Visible”属性均设置为False。这两个控件属性列表中的“ConnectionString”属性值均按如下方法设置。(5) 单击,弹出属性页对话框,如图18所示。(6) 单击“生成”按钮,进入“数据链接属性”对话框,如图19所示。图18 图19(7) 选择“Microsoft OLE DB Provider for ODBC
14、 Drivers”,单击“下一步”按钮,由“提供者”选项卡跳到“连接”选项卡,如图20所示。选中“使用数据源名称”,在该项下拉列表中选择“book”,然后单击“确定”按钮,系统自动回到属性页对话框,单击确定按钮即可。 图20(8) 进入frmMain窗体的代码视图,添加如下代码:Public Sub DisplayGrid(CaptionStr As String)'将临时ADO数据控件中的RecordSource属性赋值给和数据表格相连的ADO数据控件 Adodc.RecordSource = AdodcTemp.RecordSource Adodc.Refresh '将数据
15、表格绑定到ADO数据控件 Set DataGrid.DataSource = Adodc DataGrid.Refresh '修改数据表格的标题 DataGrid.Caption = CaptionStr '将数据表格设置为用户可见 DataGrid.Visible = TrueEnd Sub表4 菜单结构设置菜单项名称读者管理ReaderMan.显示所有读者DispAllReader.查询一个读者FindOneReader.增加一个读者AddReader.删除一个读者DelReader图书管理BookMan.显示所有图书DispAllBook.查询单册FindOneBook.
16、增加新书AddBook.删除图书DelBook借阅管理BorrowMan.显示所有借阅情况DispAllBor.借书Borrow.还书Return.根据人来查书ReaderToBook.根据书来查人BookToReader3显示所有读者(9) 选择菜单“读者管理显示所有读者”,在代码编辑窗口中添加以下代码:Private Sub DispAllReader_Click() Dim RecCount As Integer '从数据库表"reader"中查找所有的读者记录 AdodcTemp.RecordSource = "select readerid as
17、 " & " 读者编号" & _", readername as " & " 读者姓名 " & ",booknum as " & "借阅图书册数" _& " from reader " AdodcTemp.Refresh RecCount = AdodcTemp.Recordset.RecordCount '如果查到的记录数> 0,则显示所有读者信息,否则提示"未查到任何读者记录",然
18、后显示一个空 '的数据表格。 If RecCount > 0 Then DisplayGrid ("显示所有读者") Else MsgBox "未查到任何读者记录!", , "提示" DisplayGrid ("显示所有读者") Exit Sub End IfEnd Sub4查询一个读者(10) 选择菜单“读者管理查询一个读者”,在代码编辑窗口中添加以下代码:Private Sub FindOneReader_Click() Dim RecCount As Integer '将标志变量置为假
19、ActFlag = False '显示查询一个读者窗体 frmFindOneReader.Show vbModal '若是在查询一个读者窗体中已经将ActFlag修改为True时,则查看所查到的记录条数,如果查到的 '记录条数> 0时,刷新数据表格,显示查询结果 If ActFlag Then RecCount = AdodcTemp.Recordset.RecordCount If RecCount > 0 Then DisplayGrid ("查询一个读者") End If End If ActFlag = FalseEnd Sub(
20、11) 为工程添加一个新的窗体,将新窗体的“名称”属性改为“frmFindOneReader”,“Caption”属性改为“查询一个读者”。(12) 在窗体上添加一个框架控件(Frame)和一个ADO数据控件(Adodc),在Frame1中添加一个命令按钮(CommandButton)、一个标签(Label)和一个文本框(TextBox)。(13) 修改frmFindOneReader窗体控件的属性,见表5。表5 frmFindOneReader窗体控件属性控件名称属性名称属性设置值Frame1 Caption输入查询条件Label1 Caption读者编号Text1名称TxtReaderid
21、TextCommand1名称CmdFindCaption查询Adodc1名称AdodcVisibleFalse(14) 根据frmMain主界面中设置Adodc控件的方法来设置本窗体的Adodc的属性,完成以上操作后frmFindOneReader窗体的效果如图21所示。 图21(15) 双击“查询”按钮,在代码编辑窗口中添加以下代码:Private Sub CmdFind_Click() Dim RecCount As Integer '判断用户是否输入了读者编号信息,如果没有输入信息,则发出提示退出子程序 If Trim(TxtReaderid.Text) = "&quo
22、t; Then MsgBox "查询条件不能为空,请填写!", , "提示" Exit Sub End If '根据读者编号查询读者信息 Adodc.RecordSource = "select readerid as " & " 读者编号" _ & ", readername as " & " 读者姓名" & ",booknum as " _ & "借阅图书册数" & "
23、; from reader where readerid= " & "'" _ & Trim(TxtReaderid.Text) & "'" Adodc.Refresh '如果查到该读者信息则释放当前窗体,回到主界面在数据表格上显示查到的读者信息 RecCount = Adodc.Recordset.RecordCount If RecCount > 0 Then frmMain.AdodcTemp.RecordSource = "select readerid as "
24、 _ & " 读者编号" & ", readername as " & " 读者姓名" _ & ",booknum as " & "借阅图书册数" _ & " from reader where readerid= " _ & "'" & Trim(TxtReaderid.Text) & "'" frmMain.AdodcTemp.Refresh &
25、#39;将标志变量置为真 ActFlag = True Unload Me Else '如果没有查到该读者的信息则发出提示,退出子程序 MsgBox "查无此人!", , "提示" Exit Sub End IfEnd Sub5增加一个读者(16) 选择菜单“读者管理增加一个读者”,在代码编辑窗口中添加以下代码:Private Sub AddReader_Click() '将标志变量置为假 ActFlag = False '显示增加一个读者窗体 frmAddReader.Show vbModal If ActFlag Then &
26、#39;如果需要刷新数据表格,则显示所有读者信息 DispAllReader_Click End If ActFlag = FalseEnd Sub(17) 为工程添加一个新的窗体,讲窗体的名称属性改为“frmAddReader”,Caption属性改为“增加一个读者”。(18) 在窗体上添加一个框架控件(Frame),然后在Frame1中添加一个命令按钮,两个标签,两个文本框和一个ADO数据控件(Adodc)。(19) 修改frmAddReader窗体控件的属性,见表6。表6 frmAddReader窗体控件属性控件名称属性名称属性设置值 Frame1 Caption 输入数据 Label1
27、Caption 读者编号 Label2Caption 读者姓名Text1Text 名称 TxtReaderidText2Text名称 TxtReaderNameCommand1名称 CmdSave Caption 保存Adodc1名称 AdodcVisible False(20) 运用frmMain主界面中设置Adodc的方法来设置本窗体的Adodc,完成后的frmAddReader窗体效果如图22所示。 图22(21) 双击“保存”按钮,在代码编辑窗口中添加以下代码:Private Sub CmdSave_Click() Dim RecCount As Integer '判断是否输入
28、了读者编号和读者姓名,如果没有输入信息,则发出提示并退出子程序 If Trim(TxtReaderid.Text) = "" Or Trim(TxtReaderName.Text) = "" Then MsgBox "请将内容填写完整!", , "提示" Exit Sub End If '根据读者编号信息查找该读者是否已经存在 Adodc.RecordSource = "select * from reader where readerid=" _ & "'&q
29、uot; & Trim(TxtReaderid.Text) & "'" Adodc.Refresh '如果该读者已经存在,则发出提示,并退出子程序 RecCount = Adodc.Recordset.RecordCount If RecCount > 0 Then MsgBox "已经存在此读者编号,请重新设置!", , "提示" Exit Sub End If '向数据库表"book"中添加新的读者记录 Adodc.RecordSource = "sele
30、ct * from reader" Adodc.Refresh Adodc.Recordset.AddNew Adodc.Recordset.Fields("readerid") = Trim(TxtReaderid.Text) Adodc.Recordset.Fields("readername") = Trim(TxtReaderName.Text) Adodc.Recordset.Fields("booknum") = 0 Adodc.Recordset.Update Adodc.Refresh '将标志变量置
31、为真 ActFlag = True Unload MeEnd Sub6删除一个读者(22) 选择菜单“读者管理删除一个读者”,在代码编辑窗口中添加以下代码:Private Sub DelReader_Click() '将标志变量置为假 ActFlag = False '显示删除一个读者窗体 frmDelReader.Show vbModal '判断是否需要刷新数据表格,如果需要则在主界面的数据表格中显示所有的读者信息 If ActFlag Then DispAllReader_Click End If ActFlag = FalseEnd Sub(23) 为工程添加一个
32、新的窗体,将新窗体的“名称”属性改为“frmDelReader”,“Caption”属性改为“删除一个读者”。(24) 在窗体 上添加一个框架控件(Frame),在Frame1中添加一个命令按钮、一个标签、一个文本框和一个ADO数据控件。(25) 修改frmDelReader窗体控件的属性,见表7。表7 FrmDelReader窗体控件属性控件名称属性名称属性设置值Frame1Caption 输入编号Label1Caption 读者编号Text1名称TxtReaderidTextCommand1名称CmdDelCaption删除Adodc1名称AdodcVisibelFalse(26) 运用f
33、rmMain主界面中设置Adodc的方法来设置本窗体的Adodc,完成后的frmDelReader窗体效果如图22所示。 图22(27) 双击“删除”按钮,在代码编辑窗口中添加以下代码:Private Sub CmdDel_Click() Dim RecCount As Integer '判断是否输入了读者编号信息,如果没有输入则发出提示并退出子程序 If Trim(TxtReaderid.Text) = "" Then MsgBox "请填入编号信息!", , "提示" Exit Sub End If '根据读者编号
34、查找读者信息 Adodc.RecordSource = "select * from reader where readerid=" _ & "'" & Trim(TxtReaderid.Text) & "'" Adodc.Refresh '如果没有该读者信息则提示"查无此人!"信息,退出子程序 RecCount = Adodc.Recordset.RecordCount If RecCount < 1 Then MsgBox "查无此人!"
35、, , "提示" Exit Sub End If '根据读者编号信息从数据库表"borrow"中查找该读者的借阅记录 Adodc.RecordSource = "select * from borrow where readerid=" _ & "'" & Trim(TxtReaderid.Text) & "'" Adodc.Refresh '如果存在该读者的借阅记录,提示"此人有书未归还,故不能删除!"信息,退出子程序
36、 RecCount = Adodc.Recordset.RecordCount If RecCount > 0 Then MsgBox "此人有书未归还,故不能删除!", , "提示" Exit Sub End If '从数据库表"reader"中找到该读者记录,删除 Adodc.RecordSource = "select * from reader where readerid=" _ & "'" & Trim(TxtReaderid.Text) &am
37、p; "'" Adodc.Refresh Adodc.Recordset.Delete Adodc.Refresh '将标志变量置为真 ActFlag = True Unload MeEnd Sub7显示所有图书(28) 选择菜单 “图书管理显示所有图书”,在代码编辑窗口中添加以下代码:Private Sub DispAllBook_Click() Dim RecCount As Integer '从数据库表"book"中查找所有的图书记录 AdodcTemp.RecordSource = "select bookid
38、as " _ & " 图书编号" & ", bookname as " & " 图书名称 " _ & ",bookstate as " & "此书是否已借出" & " from book " AdodcTemp.Refresh '如果查到的记录数> 0则刷新数据表格显示查到的图书信息,否则提示"未查到任何图书记录!"信息 '并刷新数据表格显示空表 RecCount = Adod
39、cTemp.Recordset.RecordCount If RecCount > 0 Then DisplayGrid ("显示所有图书") Else MsgBox "未查到任何图书记录!", , "提示" DisplayGrid ("显示所有图书") Exit Sub End IfEnd Sub8查询单册(29) 选择菜单“图书管理查询单册”,在代码编辑窗口中添加以下代码:Private Sub FindOneBook_Click() Dim RecCount As Integer '将标志变量置
40、为假 ActFlag = False '显示查询单册窗体 frmFindOneBook.Show vbModal '判断是否需要刷新数据表格 If ActFlag Then RecCount = AdodcTemp.Recordset.RecordCount If RecCount > 0 Then DisplayGrid ("查询单册") End If End If ActFlag = FalseEnd Sub(30) 为工程添加一个新的窗体,将新窗体”(名称)”属性改为”frmFindOneBook”,”caption”属性改为“查询单册”。(31
41、) 在窗体添加一个框架控件(Frame)和一个ADO数据控件(Adodc),在” Frame1”中添加一个命令按钮(CommandButton)、一个标签(label)和一个文本框(textbox)。(32) 修改frmFindOneBook窗体控件的属性如表8所示:表8 frmFindOneBook窗体控件属性控件名称属性名称属性设置值Frame1Caption输入查询条件labelCaption图书编号Text1名称txtbookidtextCommand1名称CmdfindCaption查询Adodc1名称Adodcvisiblefalse(33) 根据“frmMain”主界面中的设置“
42、Adodc”的方法来设置本窗体的“Adodc”的“connectionstring”属性。(34) 双击“查询”按钮,在代码编译窗口中添加以下代码:Private Sub CmdFind_Click() Dim RecCount As Integer '判断是否输入了图书编号,如果没有输入信息,则发出提示,并退出子程序 If Trim(TxtBookid.Text) = "" Then MsgBox "查询条件不能为空,请填写!", , "提示" Exit Sub End If '根据图书编号查找该图书信息 Adodc
43、.RecordSource = "select bookid as " & " 图书编号" _ & ", bookname as " & " 图书名称" & ", bookstate as " _ & " 此书是否已借出 " & " from book where bookid= " & "'" _ & Trim(TxtBookid.Text) & &quo
44、t;'" Adodc.Refresh '如果查到的记录数> 0,则返回主界面在数据表格中显示查到的图书信息 RecCount = Adodc.Recordset.RecordCount If RecCount > 0 Then frmMain.AdodcTemp.RecordSource = "select bookid as " _ & " 图书编号" & ", bookname as " & " 图书名称" _ & ", books
45、tate as " & " 此书是否已借出 " _ & " from book where bookid= " & "'" & Trim(TxtBookid.Text) _ & "'" frmMain.AdodcTemp.Refresh ActFlag = True Unload Me Else '若没查到该图书信息,则提示"查无此书!"信息,退出子程序 MsgBox "查无此书!", , "
46、提示" Exit Sub End IfEnd Sub9添加新书(35) 选择菜单“图书管理增加新书”,在代码编辑窗口中添加以下代码:Private Sub AddBook_Click() '将标志变量置为假 ActFlag = False '显示增加新书窗体 frmAddBook.Show vbModal '判断如果需要刷新数据表格,则在主界面中显示所有的图书信息 If ActFlag Then DispAllBook_Click End If ActFlag = FalseEnd Sub(36) 为工程添加一个新的窗体,将新窗体“(名称)”属性改为“frmA
47、ddBook”,“caption”属性改为“增加新书”。(37) 在窗体上添加一个框架控件(frame),在“frame1”中添加一个命令按钮(commandbutton)、两个标签(label)、两个文本框(textbox)和一个ADO数据控件(Adodc),如下表所示:控件名称属性名称属性设置值Frame1Caption输入数据Label1Caption图书编号Label2Caption图书名称Text1名称txtbookidtextText2名称txtbooknametextCommand1名称CmdsaveCaption保存Adodc1名称Adodcvisiblefalse(38) 根
48、据”frmMain”主界面中的设置“Adodc”的方法来设置本窗体的“Adodc”的“connectionstring”属性。(39) 双击“保存”按钮,在代码编辑窗口中添加以下代码:Private Sub CmdSave_Click() Dim RecCount As Integer '判断是否输入了图书编号和图书名称信息,如果没有输入则发出提示并退出子程序 If Trim(TxtBookid.Text) = "" Or Trim(TxtBookName.Text) = "" Then MsgBox "请将内容填写完整!",
49、 , "提示" Exit Sub End If '根据图书编号查找是否存在该图书记录,如果存在,则提示"已经存在此图书编号,请重新设置!" '则提示退出子程序 Adodc.RecordSource = "select * from book where bookid=" & "'" & Trim(TxtBookid.Text) & "'" Adodc.Refresh RecCount = Adodc.Recordset.RecordCoun
50、t If RecCount > 0 Then MsgBox "已经存在此图书编号,请重新设置!", , "提示" Exit Sub End If '在数据库表"book"中添加该新书记录 Adodc.RecordSource = "select * from book" Adodc.Refresh Adodc.Recordset.AddNew Adodc.Recordset.Fields("bookid") = Trim(TxtBookid.Text) Adodc.Recordse
51、t.Fields("bookname") = Trim(TxtBookName.Text) Adodc.Recordset.Fields("bookstate") = "否" Adodc.Recordset.Update Adodc.Refresh '将标志变量置为真 ActFlag = True Unload MeEnd Sub10删除图书(40) 选择菜单“图书管理删除图书“,在代码编辑窗口中添加以下代码:Private Sub DelBook_Click() '将标志变量置为假 ActFlag = False &
52、#39;显示删除图书窗体 frmdelbook.Show vbModal '判断是否需要刷新数据表格,如果需要的话则在数据表格中显示所有的图书记录 If ActFlag Then DispAllBook_Click End If ActFlag = FalseEnd Sub(41) 为工程添加一个新的窗体,将新窗体“(名称)”属性改为“frmdelbook”,“caption”属性改为“删除图书”。(42) 在窗体上添加一个框架控件(Frame),在”Frame1”中添加一个命令按钮(commandbutton)、一个标签(label)、一个文本框(textbox)和一个ADO数据控件
53、(Adodc),如下表所示:控件名称属性名称属性设置值Frame1Caption输入编号Label1Caption图书编号Text1名称txtbookidTextCommand1名称CmddelCaption删除Adodc1名称Adodcvisiblefalse(43) 根据“frmMain”主界面中的设置“Adodc”的方法来设置本窗体的“Adodc”的“connectionstring”属性,完成以上操作后frmDelBook窗体效果如下图所以:(44) 双击“删除”按钮,在代码编辑窗口中添加以下代码:Private Sub CmdDel_Click() Dim RecCount As I
54、nteger '判断是否输入图书编号,如果没有输入数据,则发出提示并退出子程序 If Trim(TxtBookid.Text) = "" Then MsgBox "请填入编号信息!", , "提示" Exit Sub End If '根据图书编号从数据库表"book"中查找该图书的记录。 Adodc.RecordSource = "select * from book where bookid=" _ & "'" & Trim(TxtB
55、ookid.Text) & "'" Adodc.Refresh RecCount = Adodc.Recordset.RecordCount '如果没有该图书的信息,则提示"查无此书!"信息,退出子程序 If RecCount < 1 Then MsgBox "查无此书!", , "提示" Exit Sub End If '如果该图书已经借出,则提示"此书尚未归还,故不能删除!"并退出子程序 If Adodc.Recordset.Fields("b
56、ookstate") = "是" Then MsgBox "此书尚未归还,故不能删除!", , "提示" Exit Sub End If '删除该图书记录 Adodc.Recordset.Delete Adodc.Refresh '将标志变量置为真 ActFlag = True Unload MeEnd Sub11显示所有借阅情况(45) 选择菜单“借阅管理显示所有借阅记录”,进入代码编辑窗口中添加代码如下:Private Sub DispAllBor_Click() Dim RecCount As Integer '用多表连接查询语句查询所有的图书借阅记录 AdodcTemp.RecordSource = "select borrow.readerid as " _ & " 读者编号 " & ",reader.readername as " & " 读者姓名 &q
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年机床设备交易协议范本
- DB3502∕T 085-2022 三角梅盆栽生产技术规程
- 2024年房产租赁协议格式
- 2024年专项融资垫付服务协议模板
- 2024-2025学年广东省江门九中九年级(上)期中数学试卷
- 2024三方销售业务协议条款集
- 2024年餐厅股份出售协议模板
- 办公物资采购协议范本(2024年)
- 2024年专业家装合作协议详例
- 2024物业学校综合服务协议
- DB33∕T 1231-2020 人防门安装技术规程
- 苏教版五年级上册数学试题-第一、二单元 测试卷【含答案】
- 发挥产业工会作用的实施方案
- 科捷物流介绍(中文版)ppt课件
- 军事地形学地形图基本知识
- 2022版义务教育(生物学)课程标准(含2022年修订和新增部分)
- 六年级综合实践活动课件-珍爱生命远离毒品 全国通用(共24张PPT)
- 建设工程竣工消防验收记录表(DOC36页)
- 沉井专项施工方案DOC
- 切削力计算参考模板
- 一年级海洋教育教案
评论
0/150
提交评论