1 / 38

VB+SQL 开发图书借阅系统

Visual Basic 程序设计教程. VB+SQL 开发图书借阅系统. 图书借阅系统的控制流程设计 图书借阅系统数据库设计 ODBC 数据源的创建 图书借阅系统界面及代码设计. VB+SQL 开发图书借阅系统. 图书借阅系统的控制流程设计 图书借阅系统数据库设计 ODBC 数据源的创建 图书借阅系统界面及代码设计. 图书借阅系统的控制流程设计. 图书借阅系统应提供的主要功能有: (1) 对读者信息进行管理:读者信息的添加、修改、删除和查询。 (2) 对图书信息进行管理:图书信息的添加、修改、删除及查询。

vian
Download Presentation

VB+SQL 开发图书借阅系统

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Visual Basic 程序设计教程 VB+SQL开发图书借阅系统 • 图书借阅系统的控制流程设计 • 图书借阅系统数据库设计 • ODBC数据源的创建 • 图书借阅系统界面及代码设计 www.gxtc.edu.cn: yca@gxtc.edu.cn

  2. VB+SQL开发图书借阅系统 • 图书借阅系统的控制流程设计 • 图书借阅系统数据库设计 • ODBC数据源的创建 • 图书借阅系统界面及代码设计 www.gxtc.edu.cn: yca@gxtc.edu.cn

  3. 图书借阅系统的控制流程设计 图书借阅系统应提供的主要功能有: (1) 对读者信息进行管理:读者信息的添加、修改、删除和查询。 (2) 对图书信息进行管理:图书信息的添加、修改、删除及查询。 (3) 对借还书进行管理,并可查询当前的借阅情况及借阅历史信息。 图书借阅系统的控制流程

  4. VB+SQL开发图书借阅系统 • 图书借阅系统的控制流程设计 • 图书借阅系统数据库设计 • 图书借阅系统数据库表结构设计 • 图书借阅系统数据库存储过程的设计  • 图书借阅系统数据库中触发器的设计 • ODBC数据源的创建 • 图书借阅系统界面及代码设计 www.gxtc.edu.cn: yca@gxtc.edu.cn

  5. 图书借阅系统数据库表结构设计-以XS表为例 www.gxtc.edu.cn: yca@gxtc.edu.cn

  6. VB+SQL开发图书借阅系统 • 图书借阅系统的控制流程设计 • 图书借阅系统数据库设计 • 图书借阅系统数据库表结构设计 • 图书借阅系统数据库存储过程的设计 • 图书借阅系统数据库中触发器的设计 • ODBC数据源的创建 • 图书借阅系统界面及代码设计 www.gxtc.edu.cn: yca@gxtc.edu.cn

  7. 图书借阅系统数据库存储过程的设计-对XS表进行操作的存储过程图书借阅系统数据库存储过程的设计-对XS表进行操作的存储过程 (1) 在XS表中插入一条记录 USE XSBOOK CREATE PROCEDURE xs_insert @jszh char(8),@xm char(8),@zym char(12),@xb bit,@cssj datetime AS INSERT INTOXS(借书证号,姓名,专业名,性别,出生时间) VALUES(@jszh,@xm,@zym,@xb,@cssj) GO www.gxtc.edu.cn: yca@gxtc.edu.cn

  8. 图书借阅系统数据库存储过程的设计(续) (2) 在XS表中修改一条记录 当记录的照片信息不变化时,存储过程xs_update直接修改记录的信息。 USE XSBOOK CREATE PROCEDURE xs_update @jszh char(8),@xm char(8),@zym char(12),@xb bit,@cssj datetime,@jss int AS UPDATE xs SET 姓名=@xm,专业名=@zym,性别=@xb,出生时间=@cssj,借书数=@jss www.gxtc.edu.cn: yca@gxtc.edu.cn

  9. 图书借阅系统数据库存储过程的设计(续) (3) 在XS表中删除一条记录 USE XSBOOK CREATE PROCEDURE xs_delete @jszh char(8),@flag int output AS IF EXISTS (SELECT * FROM xs WHERE 借书证号=@jszh and 借书数=0) BEGIN DELETE FROM XS WHERE 借书证号=@jszh and 借书数=0 SET @flag=0 END ELSE SET @flag=1 www.gxtc.edu.cn: yca@gxtc.edu.cn

  10. VB+SQL开发图书借阅系统 • 图书借阅系统的控制流程设计 • 图书借阅系统数据库设计 • 图书借阅系统数据库表结构设计 • 图书借阅系统数据库存储过程的设计  • 图书借阅系统数据库中触发器的设计 • ODBC数据源的创建 • 图书借阅系统界面及代码设计 www.gxtc.edu.cn: yca@gxtc.edu.cn

  11. 图书借阅系统数据库中触发器的设计-以JY表为例图书借阅系统数据库中触发器的设计-以JY表为例 1. 对JY表定义的INSERT触发器 USE XSBOOK CREATE TRIGGER tjy_insert ON jy FOR INSERT AS BEGIN UPDATE XS SET借书数=借书数+1 WHERE XS.借书证号 IN (SELECT inserted.借书证号 FROM inserted) UPDATE BOOK SET库存量=库存量-1 WHERE BOOK.ISBN IN (SELECT inserted.ISBN FROM inserted) END www.gxtc.edu.cn: yca@gxtc.edu.cn

  12. 图书借阅系统数据库中触发器的设计(续) 2. 对JY表定义的DELETE触发器 USE XSBOOK CREATE TRIGGER tjy_delete on jy FOR DELETE AS BEGIN UPDATE XS SET借书数=借书数-1 WHERE XS.借书证号 IN (SELECT deleted.借书证号 FROM deleted) UPDATE BOOK SET库存量=库存量+1 WHERE BOOK.ISBN IN (SELECT deleted.ISBN FROM deleted) END www.gxtc.edu.cn: yca@gxtc.edu.cn

  13. VB+SQL开发图书借阅系统 • 图书借阅系统的控制流程设计 • 图书借阅系统数据库设计 • ODBC数据源的创建 • 图书借阅系统界面及代码设计 www.gxtc.edu.cn: yca@gxtc.edu.cn

  14. ODBC数据源的创建 “ODBC”数据源管理器界面 “ODBC”数据源的File DSN界面 www.gxtc.edu.cn: yca@gxtc.edu.cn

  15. ODBC数据源的创建(续) ODBC数据源名称输入界面 ODBC数据源驱动程序选择窗口 www.gxtc.edu.cn: yca@gxtc.edu.cn

  16. ODBC数据源的创建(续) 指定SQL Server服务器的界面 选择连接的数据库 www.gxtc.edu.cn: yca@gxtc.edu.cn

  17. VB+SQL开发图书借阅系统 • 图书借阅系统的控制流程设计 • 图书借阅系统数据库设计 • ODBC数据源的创建 • 图书借阅系统界面及代码设计 • 公共模块中定义的全局变量及子程序 • 主控模块界面与代码设计 • 读者信息管理模块的界面与代码设计 • 图书信息管理模块的界面与代码设计 • 借阅信息管理模块的界面与代码设计 www.gxtc.edu.cn: yca@gxtc.edu.cn

  18. 界面及代码设计 1. 公共模块中定义的全局变量及子程序 1) 定义的全局变量 Public flag As Integer '登录成功标志 Public bflagadd As Integer '书籍操作标志 Public flagadd As Integer '读者操作标志 Public brflagadd As Integer '借还书标志 Public FileName As String '图片文件名 2) 子程序 (1) ConnectString()函数 功能:返回一连接数据源的字符串。 (2) ExecuteSQL(ByVal SQL As String, MsgString As String)函数 功能:根据参数传递的SQL语句,执行一个查询,并返回结果集。 (3) SaveToDB(diskFile As String, jszh As String)过程 功能:将图片文件保存到数据库中。 www.gxtc.edu.cn: yca@gxtc.edu.cn

  19. VB+SQL开发图书借阅系统 • 图书借阅系统的控制流程设计 • 图书借阅系统数据库设计 • ODBC数据源的创建 • 图书借阅系统界面及代码设计 • 公共模块中定义的全局变量及子程序 • 主控模块界面与代码设计 • 读者信息管理模块的界面与代码设计 • 图书信息管理模块的界面与代码设计 • 借阅信息管理模块的界面与代码设计 www.gxtc.edu.cn: yca@gxtc.edu.cn

  20. 界面及代码设计(续) 2. 主控模块设计 1) 主控模块界面设计 www.gxtc.edu.cn: yca@gxtc.edu.cn

  21. 界面及代码设计(续) 各菜单项的属性 www.gxtc.edu.cn: yca@gxtc.edu.cn

  22. 界面及代码设计(续) 2) 主控模块的代码设计 主控模块Main() 功能:设置登录标志flag = 0为未登录状态,并显示主控窗口 Sub Main() '此子程序在VB的模块中定义 flag = 0 frmMain.Show End Sub 功能:当处于未登录状态时,设置“读者信息管理”、“图书信息管理”、“借阅信息管理”各菜单项不可用。 Private Sub MDIForm_Load() If flag = 0 Then '当flag =0时,表示用户处于非登录状态 menuReaders.Enabled = False menuBooks.Enabled = False menuBorrows.Enabled = False End If End Sub www.gxtc.edu.cn: yca@gxtc.edu.cn

  23. VB+SQL开发图书借阅系统 • 图书借阅系统的控制流程设计 • 图书借阅系统数据库设计 • ODBC数据源的创建 • 图书借阅系统界面及代码设计 • 公共模块中定义的全局变量及子程序 • 主控模块界面与代码设计 • 读者信息管理模块的界面与代码设计 • 图书信息管理模块的界面与代码设计 • 借阅信息管理模块的界面与代码设计 www.gxtc.edu.cn: yca@gxtc.edu.cn

  24. 界面及代码设计(续) 3. 读者信息管理模块的界面与代码设计 1) 界面设计 读者信息管理模块用于实现读者信息的添加、修改、删除和查询,此模块对应的窗体frmReader1如图所示。 www.gxtc.edu.cn: yca@gxtc.edu.cn

  25. 界面及代码设计(续) 2) 代码设计 (1) 实现读者“添加”功能的菜单项Click事件子程序 (2) 实现读者“修改”功能的菜单项Click事件子程序 (3) 实现读者“删除”功能的菜单项Click事件子程序 (4) 实现读者“查询”功能的菜单项Click事件子程序 (5) 在frmReader1窗体的公共区域定义的全局变量 (6) frmReader1窗体Load事件子程序 (7) frmReader1窗体Activate事件子程序 (8) 下拉框Combo1的Click事件子程序 (9) 下拉框Combo1的KeyPress事件子程序 www.gxtc.edu.cn: yca@gxtc.edu.cn

  26. 界面及代码设计(续) (10) 编辑框txtItem的KeyDown事件子程序 功能:编辑框txtItem为一控件数组,当用户输入读者有关的文本信息,如姓名、专业名等时,使用户可通过按“回车”将焦点从一个文本输入框移至下一输入框。 (11) 复选框Check1的Click事件子程序 功能:此复选框用于指示当前添加或修改的读者记录是否有照片信息 (12) 命令按钮Command1的Click事件子程序 功能:当复选框Check1处于选中状态时,此命令按钮通过公共对话框cdlg浏览图片文件,并装入图片控件Image1显示。 (13) 命令按钮cmd的Click事件子程序 功能:本程序融合了对读者信息添加、修改、删除操作的处理。 (14) 命令按钮cmdExit的Click事件子程序 功能:退出当前操作。 www.gxtc.edu.cn: yca@gxtc.edu.cn

  27. VB+SQL开发图书借阅系统 • 图书借阅系统的控制流程设计 • 图书借阅系统数据库设计 • ODBC数据源的创建 • 图书借阅系统界面及代码设计 • 公共模块中定义的全局变量及子程序 • 主控模块界面与代码设计 • 读者信息管理模块的界面与代码设计 • 图书信息管理模块的界面与代码设计 • 借阅信息管理模块的界面与代码设计 www.gxtc.edu.cn: yca@gxtc.edu.cn

  28. 界面及代码设计(续) 4. 图书信息管理模块的界面与代码设计 1) 界面设计 2) 代码设计 (1) 实现图书“添加”功能的菜单项Click事件子程序。 功能:设置bflagadd= 1,表示当前是添加操作,然后显示图书信息管理窗体frmBook1的界面。 (2) 实现图书“修改”功能的菜单项Click事件子程序 功能:设置bflagadd= 2,表示当前是修改操作,然后显示图书信息管理窗体frmBook1的界面。 www.gxtc.edu.cn: yca@gxtc.edu.cn

  29. 界面及代码设计(续) (3) 实现图书“删除”功能的菜单项Click事件子程序 功能:设置bflagadd= 3,表示当前是删除操作,然后显示图书信息管理窗体frmBook1的界面。 (4) 实现图书“查询”功能的菜单项Click事件子程序 功能:设置bflagadd=4,表示当前是查询操作,然后显示图书信息管理窗体frmBook1的界面。 (5) 在frmBook1窗体的公共区域定义的全局变量 Public isbn As String (6) frmBook1窗体Load事件子程序 功能:根据操作标志bflagadd变量的值进行界面控件的属性设置。 (7) frmBook1 窗体Activate事件子程序 功能:调用函数ExecuteSQL()执行一查询语句从BOOK表中获取各图书的ISBN号,并将其加入到Combo1下拉表中。 www.gxtc.edu.cn: yca@gxtc.edu.cn

  30. 界面及代码设计(续) (8) 下拉框Combo1的Click事件子程序 功能:下拉框中存放的是图书的ISBN号,在执行修改、删除、查询操作时,如果用户选择其中某项,则在界面上显示该ISBN号对应的记录。 (9) 下拉框Combo1的KeyPress事件子程序 功能:执行添加图书操作时,用户从下拉框的文本输入框输入ISBN号,由于ISBN是BOOK表中的主键,因此不能有重复值,这通过执行查询语句检测,若输入的ISBN号在BOOK表中已存在,则给出警告信息。 (10) 编辑框txtItem的KeyDown事件子程序 功能:编辑框txtItem为一控件数组,当用户输入图书有关的文本信息,如书名、作者等时,使用户可通过按“回车”将焦点从一个文本输入框移至下一输入框。 www.gxtc.edu.cn: yca@gxtc.edu.cn

  31. 界面及代码设计(续) (11) 命令按钮cmd的Click事件子程序 功能:本程序融合了对图书信息添加、修改、删除操作的处理。对于添加操作: (1)检查各文本输入是否为空,若为空给出提示信息; (2)检查输入的图书的ISBN号是否重复, 若重复则给出提示信息; (3)调用XSBOOK的存储过程book_insert在BOOK表中插入一条记录。 对于修改操作: (1)检测图书的ISBN号是否修改,若修改了则给出警告信息; (2)调用XSBOOK的book_update存储过程对数据进行修改。 对于删除操作:调用XSBOOK数据库的book_delete存储过程进行删除。 (12) 命令按钮cmdExit的Click事件子程序 功能:退出图书管理界面。 www.gxtc.edu.cn: yca@gxtc.edu.cn

  32. VB+SQL开发图书借阅系统 • 图书借阅系统的控制流程设计 • 图书借阅系统数据库设计 • ODBC数据源的创建 • 图书借阅系统界面及代码设计 • 公共模块中定义的全局变量及子程序 • 主控模块界面与代码设计 • 读者信息管理模块的界面与代码设计 • 图书信息管理模块的界面与代码设计 • 借阅信息管理模块的界面与代码设计 www.gxtc.edu.cn: yca@gxtc.edu.cn

  33. 界面及代码设计(续) 5. 借阅信息管理模块的界面与代码设计 1) 界面设计 www.gxtc.edu.cn: yca@gxtc.edu.cn

  34. 界面及代码设计(续) 2) 代码设计 (1) 实现 “借书”功能的菜单项Click事件子程序 功能:设置brflagadd = 1,表示当前是借书操作,然后显示窗体frmBorrow1的界面。 (2) 实现 “还书”功能的菜单项Click事件子程序 功能:设置brflagadd = 2,表示当前是还书操作,然后显示窗体frmBorrow1的界面。 (3) 在窗体frmBorrow1的公共部分定义的全局变量变量jyflag Public jyflag As Integer 当窗体frmBorrow1的Activate事件子程序第一次执行时, jyflag=0,否则jyflag=1。 (4) 窗体frmBorrow1的Load事件子程序 功能:根据标志变量brflagadd的值,设置窗体及控件的属性。 www.gxtc.edu.cn: yca@gxtc.edu.cn

  35. 界面及代码设计(续) (5) 窗体frmBorrow1的Activate事件子程序 功能:此子程序融合了“借书”和“还书”的处理。“借书”时,首先设置相关控件的属性,然后通过查询语句读取XS表中读者的借书证号及BOOK表中图书的ISBN号,并显示XS表中第一条记录和BOOK表中的第1条记录。 (6) 下拉框Combo1的Click事件子程序 功能:在借书时,根据用户从下拉框当前选择的图书的ISBN号显示BOOK中其对应的图书记录。 (7) 下拉框Combo2的Click事件子程序 功能:在借书时,根据用户从下拉框选择的读者借书证号显示该读者在XS表中对应的记录。 (8) 下拉框Combo3的Click事件子程序 功能:在还书时,根据用户从下拉框当前选择的索书号显示该书 对应的信息及读者的信息。 www.gxtc.edu.cn: yca@gxtc.edu.cn

  36. 界面及代码设计(续) (9) 命令按钮cmd的Click事件子程序 功能:本程序用于处理“借书”和“还书”操作。 (10) 命令按钮cmdExit的Click事件子程序 功能:退出借还书界面。 (11) 实现 “当前借阅信息查询”功能的菜单项Click事件子程序 功能:设置brflagadd =3,表示“当前借阅信息查询”操作,设置执行的查询语句,然后显示窗体frmBorrow的界面。 (12) 实现 “借阅历史查询”功能的菜单项Click事件子程序 功能:设置brflagadd =4,表示当前是“借阅历史查询”操作,设置执行的查询语句,然后显示窗体frmBorrow的界面。 www.gxtc.edu.cn: yca@gxtc.edu.cn

  37. 界面及代码设计(续) (13) 在窗体frmBorrow的公共部分定义的子程序 ShowTitle()的功能:根据标志变量brflagadd的值确定当前查询的内容,然后显示表格控件msgList相应的表头。 (14) 窗体frmBorrow的Load事件子程序 功能:调用ShowTitle和ShowData子程序以表格的形式显示当前借阅信息或历史借阅信息。 (15) 命令按钮cmdExit的Click事件子程序 功能:退出当前查询界面。 Private Sub cmdExit_Click() Unload Me End Sub www.gxtc.edu.cn: yca@gxtc.edu.cn

  38. The End! Thank You! Any Question? www.gxtc.edu.cn: yca@gxtc.edu.cn

More Related