SQL-Server数据库管理第14章-综合案课件.pptx

上传人(卖家):晟晟文业 文档编号:2848099 上传时间:2022-06-03 格式:PPTX 页数:91 大小:1.32MB
下载 相关 举报
SQL-Server数据库管理第14章-综合案课件.pptx_第1页
第1页 / 共91页
SQL-Server数据库管理第14章-综合案课件.pptx_第2页
第2页 / 共91页
SQL-Server数据库管理第14章-综合案课件.pptx_第3页
第3页 / 共91页
SQL-Server数据库管理第14章-综合案课件.pptx_第4页
第4页 / 共91页
SQL-Server数据库管理第14章-综合案课件.pptx_第5页
第5页 / 共91页
点击查看更多>>
资源描述

1、本章要求第第1414章章 综合案例综合案例图书综合管理图书综合管理系统系统u图书综合管理系统的基本开发流程u图书综合管理系统的功能结构及业务流程u图书综合管理系统的数据库设计u图书综合管理系统的公共模块设计u主要功能模块的窗体设计过程u主要功能模块的代码设计过程u开发图书综合管理系统时遇到的问题主要内容第14章 综合案例图书综合管理系统1.需求分析2.总体设计3. 数据库设计4.公共模块设计5.主要模块开发6.程序调试 图书综合管理系统主要包括对图书作者和出版社等在内的基础数据管理、图书进销存管理、图书借阅管理、图书归还管理、读者管理、统计打印和系统管理等几部分。通过实际调查,要求图书综合管理

2、系统具有以下功能:p 系统使用人员较多,需要较好的权限管理设置。p 批量填写图书入库单、图书销售单、图书借阅单、图书归还单。p 灵活的报表设计及打印功能。p 图书库存查询及图书库存预警。p 读者信息与图书分类管理。p 图书信息查询。p 完善的权限管理,增强系统的安全性。p 数据备份及恢复功能,保证系统数据的安全性。14.1 需求分析14.2.1 系统目标14.2.2 构建开发环境14.2.3 系统功能结构14.2.4 业务流程14.2 总体设计根据需求分析的描述及与用户的沟通,现制定系统实现目标如下:p 利用条形码扫描器进书、售书、借书、还书,使信息传递准确、顺畅。p 灵活的运用表格批量输入数

3、据,使信息传递更快捷。p 系统采用人机对话方式,界面美观友好、信息查询灵活、方便、快捷、准确、数据存储安全可靠。p 在进行数据查询时,采用模糊查询方式。p 图书类别分类详细、层次清晰,并以树状形式浏览。p 管理员可以设置操作员的权限。p 完善的读者资料库,使借书更安全。p 分类详细的图书目录,使读者查询更方便。p 快速借书、还书,提高日常工作效率。p 强大的库存预警功能,尽可量地减少商家不必要的损失。p 对用户输入的数据系统将进行严格的数据检验,尽可能排除人为的错误。p 数据保密性强,为每个用户设置权限级别。p 系统最大限度地实现易安装性、易维护性和易操作性。p 系统运行稳定、安全可靠。14.

4、2.1 系统目标图书综合管理系统的开发环境如下:p 开发环境:Visual Basic 6.0(SP5)。p 开发语言:VB。p 后台数据库:SQL Server 2008。p 开发平台:Windows XP(SP2)/Windows Server 2003(SP2)/Windows 7。p 分辨率:最佳效果1024768像素。14.2.2 构建开发环境 图书综合管理系统是一个以SQL Server 2008为数据库的管理系统,系统由基本信息设置、图书销售管理、图书入库管理、借书管理、还书管理、决策分析、系统管理及系统维护等模块组成,规划系统功能模块如下:p 基本信息管理模块该模块主要完成图书

5、类别信息设置、图书存放位置信息设置、读者类别信息设置、读者信息设置。p 图书销售管理模块该模块主要由图书销售及图书销售查询组成。p 图书入库管理该模块由图书入库、图书入库查询、图书库存上下限设置、图书库存查询、图书库存预警组成。p 借书管理模块该模块包括借书登记、借书查询、书证到期提醒3部分。p 还书管理模块该模块包括还书登记、还书查询两部分。p 决策分析模块该模块包括图书销量分析、图书借阅分析、库存分析3部分。p 系统管理模块该模块包括操作员信息设置、操作员密码设置、操作员级别设置、操作员权限设置4部分。p 系统维护模块该模块包括图书综合系统初始化、数据库备份及恢复3部分。14.2.3 系统

6、功能结构图书综合管理系统的功能结构如图14-1所示。图14-1 图书综合管理系统功能结构图图书综合管理系统站业务流程图如图14-2所示。图14-2 图书综合管理系统业务流程图14.2.4 业务流程 读者 读者续借 图书查询 读者还书 丢失 读者借阅 图书入库 丢失处理 管理员 供应商 图书订购 图书统计分类 Y N 14.3.1 数据库概要说明14.3.2 数据库E-R图14.3.3 数据表结构14.3 数据库设计 从读者角度出发,为了使读者对本系统数据库中的数据表有更清晰的认识,笔者在此设计了数据表树形结构图,如图14-3所示,其中包含了对系统中所有数据表的相关描述。图14-3 数据表树形结

7、构图14.3.1 数据库概要说明 E-R图是根据用户的需求,设计各种实体以及它们之间的关系,为后面的逻辑结构设计打下基础。根据分析设计的结果,进行部分实体设计。部分实体的E-R图描述如下:读者类别实体E-R图如图14-4所示。图14-4 读者类别实体E-R图读者信息实体E-R图如图14-5所示。图14-5 读者信息实体E-R图14.3.2 数据库E-R图读者类别实体备注期限收费标准类别名称读者信息实体书证号姓名性别身份证单位家庭住址联系电话入库信息实体E-R图如图14-6所示。图14-6 入库信息实体E-R图入库票号信息实体E-R图如图14-7所示。图14-7 入库票号信息实体E-R图入库信息

8、实体书号条形码书名作者出版社版次图书类别入库票号信息实体日期票号入库品种入库数量合计金额经手人操作员库存信息实体E-R图如图14-8所示。图14-8 库存信息实体E-R图销售信息实体E-R图如图14-9所示。图14-9 销售信息实体E-R图库存信息实体书号条形码存放位置图书总数现存数量借出次数库存上下限销售信息实体书号条形码书名单价销售数量金额日期 在设计完数据库实体E-R图之后,根据相应的实体E-R图设计数据表,下面分别介绍本系统中的主要数据表的数据结构。p dzlbb(读者类别表)读者类别表主要用来保存读者类别信息。读者类别表的结构如表14-1所示。表14-1读者类别表的结构p reads

9、(读者信息表)14.3.3 数据表结构字 段 名 称数 据 类 型字 段 大 小类别名称nvarchar4收费标准money8期限nvarchar6备注nvarchar200读者信息表主要用来保存读者基础信息。读者信息表的结构如表14-2所示。表14-2读者信息表的结构p rkb(入库表)字 段 名 称数 据 类 型字 段 大 小书证号nvarchar20姓名nvarchar10性别nvarchar2身份证nvarchar25单位nvarchar30家庭住址nvarchar30联系电话nvarchar40读者类别nvarchar4办证价格money8期限nvarchar6办证日期datetim

10、e8已借书数smallint2相片路径image200收费标准money8到期日期datetime8入库表主要用来保存图书入库信息。入库表的结构如表14-3所示。表14-3入库表的结构p rkph(入库票号表)字 段 名 称数 据 类 型字 段 大 小书号nvarchar30条形码nvarchar20书名nvarchar200作者nvarchar20出版社nvarchar30版次nvarchar50图书类别nvarchar20存放位置nvarchar20单价money8入库数量smallint2金额money8经手人nvarchar10票号nvarchar30操作员nvarchar10日期da

11、tetime8入库票号表主要用来保存图书入库的票据信息。入库票号表的结构如表14-4所示。表14-4入库票号表的结构p kcb(库存表)字 段 名 称数 据 类 型字 段 大 小票号nvarchar30入库品种nvarchar10入库数量smallint2合计金额money8经手人nvarchar10操作员nvarchar10日期datetime8库存表用来保存库存图书信息。库存表的结构如表14-5所示。表14-5库存表的结构p xsb(销售表)字 段 名 称数 据 类 型字 段 大 小书号nvarchar30条形码nvarchar20书名nvarchar200作者nvarchar20出版社n

12、varchar30图书类别nvarchar20存放位置nvarchar20图书总数smallint2单价money8现存数量smallint2金额money8借出次数smallint2库存上限smallint2库存下限smallint2销售表用来保存图书销售信息。销售表的结构如表14-6所示。表14-6销售表的结构字 段 名 称数 据 类 型字 段 大 小书号nvarchar30条形码nvarchar20书名nvarchar200作者nvarchar20出版社nvarchar30图书类别nvarchar20存放位置nvarchar20单价money8销售数量smallint2金额money8经

13、手人nvarchar10票号nvarchar30操作员nvarchar10日期datetime814.4.1 函数准备14.4.2 控件准备14.4.3 公共模块设计14.4 公共模块设计 在开发图书综合管理系统时需要用到一些常用的函数,只有灵活运用这些函数,才能开发出功能强大的应用程序,下面给出程序中用到相关函数的语法结构及用途。p Len函数用途:返回Long,用于返回字符串内字符的数目,或是存储变量所需的字节数。语法:Len(string)参数:string表示任何有效的字符串表达式。如果string包含Null,会返回Null。p Trim函数用途:返回字符串中前端和后端的空格。语法:

14、LTrim(string)参数:string可以是任何有效的字符串表达式。如果string包含Null,将返回Null。p Val函数用途:将字符数据转换为数值数据。语法:Val(string)参数:string可以是任何有效的字符串表达式。14.4.1 函数准备p Str函数用途:将数值型数据转换为字符类型的数据。语法:Str(number)参数:number类型为Long,其中可包含任何有效的数值表达式。p Format函数用途:返回一个字符串表达式,它根据格式表达式中的指令来格式化字符串。语法:Format(expression,format,firstdayofweek,firstwe

15、ekofyear)参数说明如表14-7所示。表14-7Format函数的参数说明部 分说 明expression必要参数。任何有效的表达式format可选参数。有效的命名表达式或用户自定义格式表达式firstdayofweek可选参数。常数,表示一星期的第一天firstweekofyear可选参数。常数,表示一年的第一周 在开发图书综合管理系统时需要添加一些Active控件,这些控件是通过“工程”“部件”菜单项添加的,在所添加的选项当中,有的选项包含多个控件,为使读者方便添加控件,下面给出图书综合管理系统程序中需要添加的选项和需要使用的对应控件,如图14-10所示。图14-10 部件选项卡14

16、.4.2 控件准备 将一些公用的数据信息放到模块中可以节省系统资源,实现代码重用,提高程序运行速度,本系统中用到了Module1模块。 在公共模块(Module1)中创建一个连接函数cnn(),可用来执行SQL语句,并可以在程序中使用Recordset对象连接数据源,从而优化了ADO+SQL Server 2008数据库的连接:Public adoCon As New ADODB.ConnectionPublic adoRs As New ADODB.RecordsetPublic Sub main() Dim temp As String temp = DSN=NBooks adoCon.O

17、pen (temp)End SubPublic Function Cnn() As ADODB.Connection 声明函数 创建连接 Set Cnn = New ADODB.Connection 打开连接 Cnn.Open DSN=NBooksEnd Function14.4.3 公共模块设计14.5.1 系统登录设计14.5.2 程序主窗体14.5.3 图书类别管理14.5.4 读者信息管理14.5.5 入库管理14.5.6 入库查询14.5.7 库存上下限设置14.5.8 销量分析14.5.9 添加操作员14.5.10 库存打印报表14.5 主要模块开发 系统登录主要用于对登录图书综合

18、管理系统的用户进行安全性检查,以防止非法用户登录该系统。管理员可以给用户分配权限,用户登录时根据所具有的权限操作系统中相应的功能。 在登录系统时验证操作员及其密码,主要通过ADO控件中记录集(RecordSet)对象结合If语句判断用户选定的操作员及其输入的密码与数据库中的操作员和密码是否相同来实现,如果相同,则允许登录,并给予相应的权限,否则将不允许用户登录。系统登录的运行结果如图14-11所示。图14-11 系统登录窗体的运行结果14.5.1 系统登录设计1窗体设计窗体设计(1)在工程中新建一个窗体,将窗体的名称设置为“main_mm”,BorderStyle属性设置为“main_mm”,

19、通过添加Image控件 设置其Picture属性添加图片。(2)在窗体上添加Adodc控件 ,由于该控件属于ActiveX控件,在使用之前必须从“部件”对话框中添加到工具箱。添加方法为:在“工程”/“部件”对话框中勾选“Microsoft Ado Data Controls 6.0(SP4)”列表项,单击“确定”按钮之后即可将Adodc控件添加到工具箱当中。(3)在窗体中添加一个ListView控件 和文本框控件 。(4)在窗体中添加5个Label控件 ,设置前两个Label控件的Caption属性为“确定”和“退出”,设置后3个Label控件的Caption属性为空。(5)在窗体中添加一个I

20、mageList控件 。(6)在窗体上添加一个ImageList控件,在控件上单击鼠标右键,选择“属性”项,然后在弹出的“属性页”对话框中选择“通用”选项卡,在该选项卡中设置向控件添加图片的大小,如图14-12所示。图14-12 设置添加图片的大小(7)在ImageList控件的“属性页”对话框中选择“图像”选项卡,通过单击“插入图片”按钮添加图片,如图14-13所示。图14-13 向控件中添加图片 在此选择图像的高度和宽度,设置图像的大小 单击此按钮, 向控件中添加图片 登录窗体的设计结果如图14-14所示。图14-14 系统登录窗体的设计界面2代码设计代码设计在代码窗口的声明部分定义如下变

21、量:Dim itmX As ListItem声明一个ListItem对象Dim MyIcon As Integer声明一个整型变量Dim text, MyMsg As String声明字符串变量在窗体装载事件中,通过ADO控件的ConnectionString属性建立数据库连接,同时将所有操作员的名称及头像添加到ListView控件当中,代码如下:Private Sub Form_Load() Adodc1.ConnectionString = DSN=NBooks Adodc1.RecordSource = select * from qxb Adodc1.Refresh If Adodc1

22、.Recordset.RecordCount 0 Then With Adodc1.Recordset .MoveFirst czy.Caption = .Fields(操作员) bh.Caption = .Fields(编号) jb.Caption = .Fields(操作员级别) 添加操作员 Do While .EOF = False text = .Fields(操作员) MyIcon = Val(Right(.Fields(头像), Val(Len(.Fields(头像) - 2) Set itmX = ListView1.ListItems.Add(, , text, MyIcon)

23、 .MoveNext Loop End With End IfEnd Sub 单击“确认”按钮,如果输入的操作员姓名和口令正确,则通过身份验证,登录到系统当中,并根据权限分配相应的操作功能。通过SQL语句查询输入的用户名和密码信息在数据库中是否存在,如果查询到符合条件的记录信息则显示系统主窗体,登录到系统当中,实现的程序代码如下:Private Sub Label1_Click()确认 Adodc1.RecordSource = select * from qxb where 操作员 = + Trim(czy.Caption) + Trim 函数返回 Variant (String),其中包含

24、指定字符串的拷贝,没有前导和尾随空白。 Adodc1.Refresh If Adodc1.Recordset.RecordCount 0 Then如果记录数大于零 With Adodc1.Recordset frm_main.jcxxgl.Enabled = .Fields(基础信息管理) frm_main.Toolbar1.Buttons(1).Enabled = .Fields(基础信息管理) frm_main.tsgl.Enabled = .Fields(图书管理) frm_main.Toolbar1.Buttons(3).Enabled = .Fields(图书管理) frm_main

25、.Toolbar1.Buttons(9).Enabled = .Fields(图书管理) frm_main.Label1.Enabled = .Fields(图书管理) frm_main.Label2.Enabled = .Fields(图书管理) frm_main.Label3.Enabled = .Fields(图书管理) frm_main.Label9.Enabled = .Fields(图书管理) frm_main.jygl.Enabled = .Fields(借阅管理) frm_main.Toolbar1.Buttons(5).Enabled = .Fields(借阅管理) frm_

26、main.Toolbar1.Buttons(7).Enabled = .Fields(借阅管理) frm_main.Label4.Enabled = .Fields(借阅管理) frm_main.Label5.Enabled = .Fields(借阅管理) frm_main.Label10.Enabled = .Fields(借阅管理) frm_main.jcfx.Enabled = .Fields(决策分析) frm_main.Label6.Enabled = .Fields(决策分析) frm_main.Label7.Enabled = .Fields(决策分析) frm_main.Lab

27、el8.Enabled = .Fields(决策分析) frm_main.xtwh.Enabled = .Fields(系统维护) frm_main.xtgl.Enabled = .Fields(系统管理) frm_main.Toolbar1.Buttons(11).Enabled = .Fields(系统管理) End With 验证操作员及密码 If Text1.text = Adodc1.Recordset.Fields(密码) Then Load frm_main frm_main.Show frm_main.St1.Panels(3).text = czy.Caption Unloa

28、d Me Else If czy.Caption = Then MsgBox 请选择操作员!, 图书综合管理系统 ListView1.SetFocus Else If Text1.text Adodc1.Recordset.Fields(密码) Then MsgBox 密码错误,请重新输入密码!, 图书综合管理系统 Txttime.text = Val(Txttime.text) + 1 Text1.SetFocus End If End If If Txttime.text = 3 Then密码错误3次,退出系统 MyMsg = MsgBox(密码输入错误,请向系统管理员查询!, 图书综合管

29、理系统) If MyMsg = vbOK Then End End If End If End IfEnd Sub 程序主窗体是图书综合管理系统的交互控制平台,实现给予操作员不同的使用权限。程序主窗体运行界面如图14-15所示。图14-15 程序主窗体运行界面14.5.2 程序主窗体1窗体设计窗体设计(1)在工程中新建一个窗体,将窗体的名称设置为“Frm_main”,BorderStyle属性设置为“1-Fixed Single”,MaxButton属性设置为False,并向Picture属性中加载一幅图片。(2)单击“工具”菜单下的“菜单编辑器”子菜单项。(3)在弹出的“菜单编辑器”对话框中

30、,在“标题”输入栏中输入显示的菜单名;在“名称”输入栏中输入代码中使用的菜单名。(4)完成主菜单后,可以运用下箭头把选定的菜单项在同级菜单内向下移动一个位置,以完成子菜单的设计。(5)工具栏主要运用ToolBar控件 与ImageList控件 完成。它由8个功能按钮以及9个分割按钮的分割条组成。(6)向窗体中添加StatusBar控件 、CommonDialog控件 等。图14-16 程序主窗体的设计结果2代码设计代码设计通过程序主窗体加载其他管理模块窗体,代码如下:Private Sub tslb_Click()加载图书类别设置窗体 Load main_jcxx_tslbsz main_jc

31、xx_tslbsz.Show frm_main.Enabled = FalseEnd SubPrivate Sub place_Click()加载图书存放位置窗体 Load main_jcxx_tswzsz main_jcxx_tswzsz.Show frm_main.Enabled = FalseEnd SubPrivate Sub rlbsz_Click()加载读者类别设置窗体 Load main_jcxx_dzlbszfrm_main.Enabled = FalseEnd SubPrivate Sub reads_Click()加载读者信息设置窗体 Load main_jcxx_dzxx

32、sz main_jcxx_dzxxsz.Show frm_main.Enabled = FalseEnd SubPrivate Sub xztsrk_Click()加载图书入库窗体 Load main_rcyw_tsrk main_rcyw_tsrk.Show frm_main.Enabled = FalseEnd SubPrivate Sub rkcx_Click()加载入库查询窗体 Load main_rcyw_rkcx main_rcyw_rkcx.Show frm_main.Enabled = FalseEnd SubPrivate Sub tsxs_Click()加载图书销售窗体 L

33、oad main_rcyw_tsxs main_rcyw_tsxs.Show frm_main.Enabled = FalseEnd SubPrivate Sub xscx_Click()加载销售查询窗体 Load main_rcyw_xscx main_rcyw_xscx.Show frm_main.Enabled = FalseEnd SubPrivate Sub kccx_Click()加载库存查询窗体 Load main_rcyw_kccx main_rcyw_kccx.Show frm_main.Enabled = FalseEnd SubPrivate Sub kcsxx_Clic

34、k()加载库存上限、下限设置窗体 Load main_rcyw_kcsxx main_rcyw_kcsxx.Show frm_main.Enabled = FalseEnd SubPrivate Sub kcyj_Click()加载库存预警窗体 Load main_rcyw_kcyj main_rcyw_kcyj.Show frm_main.Enabled = FalseEnd SubPrivate Sub js_Click()加载借书窗体 Load main_jygl_js main_jygl_js.Show frm_main.Enabled = FalseEnd SubPrivate Su

35、b hs_Click()加载还书窗体 Load main_jygl_hs main_jygl_hs.Show frm_main.Enabled = FalseEnd SubPrivate Sub jscx_Click()加载借书查询窗体 Load main_jygl_jscx main_jygl_jscx.Show frm_main.Enabled = FalseEnd SubPrivate Sub hscx_Click()加载还书查询窗体 Load main_jygl_hscx main_jygl_hscx.Show frm_main.Enabled = FalseEnd SubPrivat

36、e Sub jscq_Click()加载借书超期窗体 Load main_jygl_szdqtx main_jygl_szdqtx.Show frm_main.Enabled = FalseEnd SubPrivate Sub xlfx_Click()加载销量分析窗体 Load main_jcfx_xlfx main_jcfx_xlfx.Show frm_main.Enabled = FalseEnd SubPrivate Sub jyfx_Click()加载借阅分析窗体 Load main_jcfx_jyfx main_jcfx_jyfx.Show frm_main.Enabled = Fa

37、lseEnd SubPrivate Sub kcfx_Click()加载库存分析窗体 Load main_jcfx_kcfx main_jcfx_kcfx.Show frm_main.Enabled = FalseEnd SubPrivate Sub czy_Click()加载操作员设置窗体 Load main_xtgl_czysz main_xtgl_czysz.Show frm_main.Enabled = FalseEnd SubPrivate Sub mmsz_Click()加载密码设置窗体 Load main_xtgl_mmsz main_xtgl_mmsz.Show frm_mai

38、n.Enabled = FalseEnd SubPrivate Sub czyjbsz_Click()加载操作员级别设置窗体 Load main_xtgl_czyjbsz main_xtgl_czyjbsz.Show frm_main.Enabled = FalseEnd SubPrivate Sub qxsz_Click()加载权限管理窗体 Load main_xtgl_qxgl main_xtgl_qxgl.Show frm_main.Enabled = FalseEnd SubPrivate Sub xtcsh_Click()加载系统初始化窗体 Load main_xtwh_xtcsh

39、main_xtwh_xtcsh.Show frm_main.Enabled = FalseEnd Sub 图书的内容包罗万象,涉及的信息很广泛,需要将图书分类进行管理。图书类别管理中记录着各图书类别及联系,在窗体下拉列表框中选择添加图书类别的级别,单击工具栏中的“添加”按钮,此时“保存”按钮变为可用状态。然后在窗体的文本框中输入图书类别的信息,最后单击“保存”按钮保存所编辑的信息。图书类别管理模块的运行结果如图14-17所示。图14-17 图书类别管理模块运行结果14.5.3 图书类别管理1窗体设计窗体设计(1)在工程中新建一个窗体,将窗体的名称设置为“main_jcxx_tslbsz”,Bo

40、rderStyle属性设置为“1-Fixed Single”,MaxButton属性设置为False。(2)在窗体上添加TreeView控件 ,由于该控件属于ActiveX控件,在使用之前必须从“部件”对话框中添加到工具箱。添加方法为:在“工程”“部件”对话框中勾选“Microsoft Windows Common Controls6.0”列表项,单击“确定”按钮后即可将TreeView控件添加到工具箱当中。(3)在窗体上添加Adodc控件 。(4)在窗体上添加一个ImageList控件 ,并向控件内插入图片。(5)在窗体上添加6个按钮控件 ,并设置Caption属性分别为“添加”、“修改”、

41、“保存”、“取消”、“删除”、“退出”。(6)在窗体中添加一个Frame控件 ,在Frame控件上添加一个ComboBox控件 与一个文本框控件 数组,通过粘贴复制的方式在Frame控件上添加3个文本框控件,名称为Text1(0)Text1(2),为文本框控件与ComboBox控件配置标签控件,并且设置相应的Caption属性值。图书类别管理窗体的设计结果如图14-18所示。图14-18 图书类别管理窗体的设计结果2代码设计代码设计在代码窗口的声明部分定义如下变量:Dim i As Integer定义整型变量Dim rs1 As New ADODB.Recordset定义数据集对象Dim SQ

42、L As String定义字符串变量在窗体启动时,除了“保存”和“取消”按钮不可用,其他按钮均可用。下面的代码是在窗体激活时Activate事件过程,实现窗体在启动时加载数据、控制按钮状态的功能。Private Sub Form_Activate() 添加级别列表 For i = 1 To 5 Combo1.AddItem (i) & 级Next i Combo1.ListIndex = 0 打开表 rs1.Open select * from tslbb order by 类别编号, Cnn, adOpenKeyset, adLockOptimistic If rs1.RecordCount

43、 0 Then For i = 1 To 3将字段值赋给Text1控件数组 If rs1.Fields(i) Then Text1(i).text = rs1.Fields(i) Text1(i).Enabled = False Next i Combo1.text = rs1.Fields(级别) End If rs1.Close关闭表 Call Tree_change调用显示数据过程 CmdSave.Enabled = False CmdEsc.Enabled = FalseEnd SubMsgBox (没有要删除的数据!) End If End With End If rs1.Close

44、 rs2.Close TreeView1.Nodes.Clear清空TreeView中的数据 Call Tree_change调用过程End Sub读者信息管理主要完成读者信息的添加、修改、删除与查询等操作。读者信息管理模块的运行结果如图14-19所示。图14-19 读者信息管理模块运行结果1窗体设计窗体设计(1)在工程中新建一个窗体,将窗体的名称设置为“main_jcxx_dzxxsz”,BorderStyle属性设置为“1-Fixed Single”,MaxButton属性设置为False。14.5.4 读者信息管理(2)在窗体上添加一个Adodc控件 、一个CommonDialog控件

45、、一个SSTab控件 。主要控件对象的属性如表14-8所示。表14-8主要控件对象的属性列表对 象属 性值DataGrid1DataSourceAdodc1SSTab1Caption读者基本信息、读者列表Tab0、1Tabs2TabsPerRow2Command1名称CmdMDIndex0-3Command2名称CmdAddCaption添加Command3名称CmdDeleteCaption删除Command4名称CmdSaveCaption保存Command5名称CmdEscCaption取消Command6名称CmdExitCaption退出(3)在窗体中添加的控件如图14-20所示图1

46、4-20 读者信息管理的设计界面2代码设计代码设计在代码窗口的声明部分定义如下变量:Dim i, a, Mat As Integer声明整型变量Dim rs1 As New ADODB.Recordset声明数据集对象Dim mst As New ADODB.StreamDim con As New ADODB.Connection在窗体加载时,使用数据集对象的cnn()函数连接到数据库上。将数据表中相应字段的数据添加到ComboBox控件中。窗体加载时的事件代码如下:Private Sub Form_Load() Adodc1.ConnectionString = Cnn 添加读者类别列表

47、rs1.Open select 类别名称 from dzlbb , Cnn, adOpenKeyset, adLockOptimistic If rs1.RecordCount 0 Then If rs1.BOF = False Then rs1.MoveFirst For i = 0 To rs1.RecordCount - 1 Combo2.AddItem (Trim(rs1.Fields(类别名称) rs1.MoveNext Next i End If rs1.Close If Combo2.ListCount 0 Then Combo2.ListIndex = 0单击“删除”按钮,则调

48、用“删除”按钮单击事件过程删除相应的读者数据信息,代码如下:Private Sub CmdDelete_Click()删除读者信息 If Adodc1.Recordset.RecordCount 0 Then a = MsgBox(您确实要删除这条数据吗?, vbYesNo) If a = vbYes Then 删除当前记录 Adodc1.Recordset.Delete Adodc1.Recordset.Update If Adodc1.Recordset.EOF = False Then Adodc1.Recordset.MoveNext Else Adodc1.Recordset.Mov

49、eFirst End If Call view_data调用显示reads表中数据的过程 设置按钮有效或无效 CmdSave.Enabled = False CmdEsc.Enabled = False CmdAdd.Enabled = True CmdModify.Enabled = True For i = 0 To 3 CmdMD(i).Enabled = True 通过入库管理向数据库中添加新的图书信息,并将图书入库。一般情况下在进行图书入库时,都会同时有几十种或更多的图书同时入库,若每次只能进行一种图书的入库,显然会影响工作效率,而本模块在设计时充分考虑到这点,采用了批量入库的方式进

50、行设计。 并且提供了图书的筛选功能,即输入相应书号返回与该书号相同的图书,以供操作员选择,大大提高了图书入库的效率。入库管理模块的运行结果如图14-21所示。图14-21 入库管理窗体的运行结果14.5.5 入库管理1窗体设计窗体设计(1)在工程中新建一个窗体,将窗体的名称设置为“main_rcyw_tsrk”,BorderStyle属性设置为“1-Fixed Single”,MaxButton属性设置为False。(2)在窗体上添加MSFlexGrid控件 ,由于该控件属于ActiveX控件,在使用之前必须从“部件”对话框中添加到工具箱。添加方法为:在“工程”“部件”对话框中勾选“Micro

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(SQL-Server数据库管理第14章-综合案课件.pptx)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|