1 / 47

第 7 章 Visual Basic 与数据库访问 7.1 数据库概述 7.2 Access 数据库基础 7.3 结构化查询语言( SQL ) 7.4 Data 控件

第 7 章 Visual Basic 与数据库访问 7.1 数据库概述 7.2 Access 数据库基础 7.3 结构化查询语言( SQL ) 7.4 Data 控件 7.5 ADO 数据控件 7.6 使用数据窗体向导 【 请注意 】 本章例题涉及到的文件路径及文件为: D:VBcomputer.mdb. 7.1.1 数据库的基本概念 1 . 数据库系统 数据库系统( Data Base System , DBS )是指以数据库方式管理的拥有大量共享数据的计算机应用系统。 2 .数据库管理系统

Télécharger la présentation

第 7 章 Visual Basic 与数据库访问 7.1 数据库概述 7.2 Access 数据库基础 7.3 结构化查询语言( SQL ) 7.4 Data 控件

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. 第7章Visual Basic与数据库访问 7.1 数据库概述 7.2 Access数据库基础 7.3 结构化查询语言(SQL) 7.4 Data控件 7.5 ADO数据控件 7.6 使用数据窗体向导 【请注意】本章例题涉及到的文件路径及文件为: D:\VB\computer.mdb VB程序设计与数据库应用

  2. 7.1.1 数据库的基本概念 1.数据库系统 数据库系统(Data Base System,DBS)是指以数据库方式管理的拥有大量共享数据的计算机应用系统。 2.数据库管理系统 数据库管理系统(Data Base Management System,DBMS)是指能够帮助用户使用和管理数据库的软件系统。 3.数据库 数据库(Data Base,DB)是指以一定的组织方式存储在一起的、能够为多用户共享的、并且独立于应用程序的相互关联的数据集合。 VB程序设计与数据库应用

  3. 7.1.1 数据库的基本概念 4.数据库应用程序 数据库应用程序是指针对实际工作的需要,而开发的各种基于数据库管理方式的应用程序。 5.用户 用户是指最终操作使用应用程序的人员和数据库管理员。 7.1.2 关系数据库的基本概念 1.什么是关系数据库 数据库存储的是经过组织的、结构化的数据,数据组织可以采用不同的数据模型。目前大多数的数据库管理系统都是基于关系模型的。 VB程序设计与数据库应用

  4. 7.1.2 关系数据库的基本概念 2.关系数据库的概念 (1)数据库 (2)数据表(Table,简称表) (3)记录(Record) (4)字段(Field) (5)关键字 (6)索引 (7)关系 VB程序设计与数据库应用

  5. 7.1.3 数据访问基础 数据访问是指用VB开发应用程序的前端,前端程序负责与用户交互,可以选择数据库中的数据,并将所选择的数据按用户的要求显示出来。数据库系统本身称为后端,后端数据库通常是关系表的集合,为前端提供数据。 1.VB访问数据库的类型 在VB中可以访问的数据库有以下三类: (1)Jet 数据库 (2)ISAM数据库(索引顺序访问方法数据库) (3)ODBC(开放式数据库连接) VB程序设计与数据库应用

  6. 7.1.3 数据访问基础 2.VB访问数据的接口 在VB 6.0中,可以使用的数据访问接口有3种: (1)数据访问对象(Data Access Objects,DAO) (2)远程数据对象(Remote Data Objects,RDO) (3)ActiveX数据对象(ActiveX Data Objects,ADO) 3.VB访问数据库的方法简介 VB访问数据库的方法一般可分为三种:数据控件法、 使用数据库对象变量进行编程、 直接调用ODBC2.0API。 VB程序设计与数据库应用

  7. 7.2 Access数据库基础 Microsoft Access 2000是Office 2000的组件之一,是微软公司开发的面向Windows平台的桌面数据库管理系统。 Access具有灵活方便、易于使用的特点,成为办公及个人数据库管理的主流软件。 7.2.1 Access数据库的组成 Access 中的数据库文件与XBASE类的数据库文件不同,它在存储表的同时,还存储了其他对象。 Access将这些对象有机地结合在一起,构成一个完整的数据库应用系统。 VB程序设计与数据库应用

  8. 7.2.1 Access数据库的组成 1.Access 2000的主窗口 成功地安装了Access 2000之后,即可使用各种运行应用程序的方法来启动它。 2.创建和打开数据库 3.数据库文件包含的对象 (1)表(Table) 表是Access数据库中用于存储数据的对象,是数据库最基本的对象。 (2)查询(Query) 查询是用于对数据进行操作访问的对象。 VB程序设计与数据库应用

  9. 7.2.1 Access数据库的组成 (3)窗体(Form) 在窗体中建立控件对象,能够使操作窗体更快捷,并使窗体具有更强的数据处理功能。 (4)报表(Report) 报表用于将表中的数据有选择地集合在一起,产生一份打印报表。 (5)宏(Macro) 利用宏语句将一个或多个操作动作集合在一起,创建一个简单的应用程序。 (6)模块(Module) (7)数据访问页(Page) VB程序设计与数据库应用

  10. 7.2.2 创建和编辑数据表 在Access中,创建和编辑数据表的方法有多种 : 1.用表向导创建表 表向导为Access初学者提供了建立表的简便方式,能够引导用户进行操作。 2.用设计视图创建表的基本概念 使用设计视图创建表,首先要了解、掌握关于表的相关概念和规定。 (1)字段名 表中每个字段都要有一个名称,字段名要符合Access的命名规则 。 VB程序设计与数据库应用

  11. 7.2.2 创建和编辑数据表 (2)数据类型 Access 能够处理多种数据类型,体现了其较强的数据处理能力。(表7-1列出了Access的数据类型及占用空间 ) (3)说明 在定义表结构的界面中,数据类型右侧的说明中,可以填入相关的文字,便于了解该字段的含义和作用。 (4)字段属性 字段属性是对字段存放的数据类型做进一步的定义。 VB程序设计与数据库应用

  12. 7.2.2 创建和编辑数据表 3.用设计视图创建表的基本操作 4.修改表的结构 (1)增加字段 (2)删除字段 (3)修改字段 5.数据编辑 (1)输入数据 (2)修改数据 (3)删除记录 VB程序设计与数据库应用

  13. 7.2.3 建立表间关系 Microsoft Access 是一个关系型数据库系统,其特点是把一些单独存放的数据根据彼此的关联性建立起一种关系,将存放在不同数据表中的数据,按照它们之间的关联性联合在一起进行处理。 1.关系的种类 关系的种类分为一对一、一对多和多对多三种。 2.建立表关系的基本过程 3.编辑关系 关系可以删除,也可以进行修改。 VB程序设计与数据库应用

  14. 7.2.4 创建和使用查询 查询(Query)是数据库管理系统的重要功能之一,在实际工作中经常用到。 在Access中可以使用设计视图的方式查询,也可以使用向导查询的方式。Access提供了多种查询方法: (以下查询的例题在computer.mdb数据库的查询中) 1.单表查询字段(查询1) 2.单表条件查询(查询2) 3.多表查询并计算(查询3) 4.用查询做数据源进行查询(查询4) 5.参数查询(查询5) 6.使用向导创建查询 VB程序设计与数据库应用

  15. 7.3 结构化查询语言(SQL) • SQL是结构化查询语言(Structured Query Language)的缩写,是一种功能全面的数据库查询语言。 • 使用SQL可以完成更新数据、提取数据等各种操作,具有功能丰富、简洁易学、使用方式灵活等特点。 • SQL语言于1974年被提出后,经过发展已经成为关系数据库语言的国际标准,深受关大用户的喜爱。 VB程序设计与数据库应用

  16. 7.3.1 SQL的基本概念 1.何谓SQL SQL是一种经过优化的语言,采用专门的数据库技术和算法来提高数据库的访问速度。目前主要的关系数据库管理系统都支持SQL,因此用SQL 编写的程序是可以移植的。在SQL中,规定了几个动词去完成其核心功能 ,语法简单,便于学习掌握。 2.SQL语言的组成 SQL语言包括查询、操纵、定义、控制等几部分,通过相应的命令动词实现其功能。 (1)数据定义 (2)数据查询 VB程序设计与数据库应用

  17. 7.3.1 SQL的基本概念 (3)数据操纵 (4)数据控制 7.3.2 数据的查询 SQL的核心技术是数据查询,查询语句SELECT以自然化的语言形式实现了各种查询功能。 (以下查询的例题在computer.mdb数据库的查询中) 1.SQL示例(查询6) 2.语句的基本格式 (1)基本格式 (2)功能说明 VB程序设计与数据库应用

  18. 7.3.2 数据的查询 3.关系运算符和常用函数 (1)关系运算符 (2)合计函数 4.查询语句(SELECT)示例 (1)关于IN的示例(查询8) 运算符IN表示在一组值中进行匹配查找,如同“=”和“OR” 的组合使用。 (2)关于LIKE的示例(查询9) 运算符LIKE表示查找与LIKE后跟随的通配符相匹配的数 据,用于模糊查找。 VB程序设计与数据库应用

  19. 7.3.2 数据的查询 (3)关于BETWEEN…AND…的示例(查询10) 范围运算符BETWEEN…AND…表示查找数据的范围,相当于“与”逻辑表达式的作用。 (4)关于函数的示例(查询12) 能够正确使用SQL提供的函数,可以在查询的同时完成一定的统计汇总工作 。 VB程序设计与数据库应用

  20. 7.3.3 数据的新增 要在表中增加数据,使用SQL的INSERT语句。 1.语句的基本格式 INSERT INTO 表名称 VALUES (字段1的数据,字 段2的数据,……) 该语句将VALUES提供的数据送到表名称所指定的表中。 2.应用实例 INSERT INTO USER VALUES ("900006" ,"市财政局", "33661478") VB程序设计与数据库应用

  21. 7.3.4 数据的删除 要删除表中原有的数据,使用SQL的DELETE语句。 1.语句的基本格式 DELETE * FROM 表名称 WHERE 条件   该语句将删除表名称所指定的表中满足条件的记录。 2.应用实例(查询16) VB程序设计与数据库应用

  22. 7.3.5 数据的修改 要修改表中的数据,使用SQL的UPDATE语句。 1.语句的基本格式 UPDATE 表名称 SET 字段1=新数据1,字段2=新数据2,…… WHERE 条件  该语句将在表名称所指定的表中,对于满足条件的记录,用新数据替换原来字段中的内容。 2.应用实例(查询13) VB程序设计与数据库应用

  23. 7.4 Data控件 Data控件(数据控件)是VB中访问数据库的重要控件,使用它能够方便、快捷地完成对数据库的访问。 利用它只需编写少量的代码,以至不使用代码也可以完成与数据库有关的各种操作。 7.4.1 Data控件示例 1.示例要求及运行界面 (prjexp7_1(P214).vbp) 2.操作说明 用Access 2000创建的数据库不能被VB 6.0的Data控件直 接访问,需要转换成低版本的数据库。 VB程序设计与数据库应用

  24. 7.4.2 Data控件的常用属性、方法和事件 使用Data控件访问数据库,需要掌握常用的属性、方法和事件,才能够对数据库做进一步的访问和处理。 1.Data控件的常用属性 (1)Connect属性 Connect属性用于设置要连接的数据库类型。 (2)DatabaseName属性 DatabaseName属性用于设置被访问的数据库的路径和文件名。 VB程序设计与数据库应用

  25. 7.4.2 Data控件的常用属性、方法和事件 (3)RecordSource属性 RecordSource属性用于设置数据的来源,可以是表或查询的结果。 (4)Exclusive属性 Exclusive属性用于设置打开数据库的方式。 (5)ReadOnly属性 ReadOnly属性设置数据库是否以只读方式打开。 VB程序设计与数据库应用

  26. 7.4.2 Data控件的常用属性、方法和事件 2.Data控件的常用方法 (1)UpdateRecord方法 (2)UpdateControls方法 (3)Refresh方法 3.Data控件的常用事件 (1)Reposition事件 (2)Validate事件 (3)Error事件 VB程序设计与数据库应用

  27. 7.4.2 Data控件的常用属性、方法和事件 4.主要事件和方法的示例(prjexp7_2(P215).vbp) 5.数据绑定控件 使用Data控件建立了对数据库的访问,但是Data控件本身没有提供显示数据的功能,在和数据库连接以后,要和具有数据感知的控件(也称为绑定控件或约束控件)配合使用。 在VB中,能够和Data控件绑定的控件可以是内部控件,也可以是外部控件。 数据绑定控件通过三个属性的设置完成与Data控件的绑定。 VB程序设计与数据库应用

  28. 7.4.3 记录集对象(Recordset) 记录集对象用来表示一个和多个数据表中字段对象的集合,可以来自数据库表中的数据,或者一次查询得到的结果。 记录集(Recoreset)的类型有三种,可以通过RecordsetType属性设置。 ① Table(表类型记录集) ② Dynaset(动态类型记录集) ③ Snapshot(快照类型记录集) VB程序设计与数据库应用

  29. 7.4.3 记录集对象(Recordset) 1.Recordset的方法 (1)Move方法 通过Move方法可以在记录集中定位当前记录的位置。一般形式为: Recordset.Move Numrecords ,Star (2)Find、Seek方法 在记录集中查找满足条件的记录,可以使用Find或Seek方法。Seek方法能够在Table型的记录集中查找,而且需要和索引配合使用。其他类型的记录集可以使用Find方法:FindFirst、FindLast、FindPrevious和FindNext。 VB程序设计与数据库应用

  30. 7.4.3 记录集对象(Recordset) (3)AddNew、Delete、Edit、Update和CancelUpdate方法 (4)Close方法 关闭指定的记录集,释放其占用的系统资源。 2.Recordset的属性 (1)RecordCount属性 表示Recordset对象中的记录个数。 (2)Bookmark属性 书签属性用于标识记录集中的记录位置。 VB程序设计与数据库应用

  31. 7.4.3 记录集对象(Recordset) (3)Fields属性 记录集中字段对象的集合。 (4)Nomatch属性 用于判断查找记录时是否找到。Nomatch属性为True时表示没有找到,否则为False时表示找到。 (关于记录集的例题请参阅 例题prjexp7_3(P218).vbp ) VB程序设计与数据库应用

  32. 7.4.4 Data控件应用实例 1.应用实例一(prjexp7_4(P219).vbp) (1)窗体及其控件的属性设置 (2)程序代码 2.应用实例二(prjexp7_5(P223).vbp) (1)窗体及其控件的属性设置 (2)程序代码 VB程序设计与数据库应用

  33. 7.5 ADO数据控件 ADO(ActiveX Data Objects):ActiveX数据对象,作为DAO、RDO的后继产物,代替了原来的数据访问接口,是微软公司提出的长期的数据访问战略。 ADO对象模型定义了可编程的分层的对象集合,与其他的数据访问对象相比,ADO包含的对象较少,更便于掌握和使用。 ADO数据控件与VB的内部控件(Data控件)和远程数据控件(RDC)很相似。用ADO数据控件可以快速建立数据绑定控件和数据库之间的连接。 VB程序设计与数据库应用

  34. 7.5.1 ADO数据控件示例 1.示例要求及运行界面(prjexp7_6(P226).vbp) 在VB中连接D:\VB\COMPUTER.MDB数据库文件,将USER表(用户表)中的3个字段,通过ADO数据控件连接到VB的用户界面中。 2.操作说明 VB 的标准控件工具箱中没有ADO数据控件,需要将ADO数据控件添加到当前工程的工具箱中。 VB程序设计与数据库应用

  35. 7.5.2 ADO数据控件的常用属性、方法和事件 ADO数据控件与Data控件的属性、方法和事件很相似,有些是相同的。 1.ADO数据控件的常用属性 (1)ConnectionString属性 ConnectionString属性用来建立当前应用程序到数据源的连接信息。VB的ADO对象模型可以连接不同类型的数据库,也可以通过不同的方式进行连接。 (2)RecordSource属性 RecordSource属性设置要连接的表,也可以是一个SQL查询语句。 VB程序设计与数据库应用

  36. 7.5.2 ADO数据控件的常用属性、方法和事件 (3)CommandType属性 CommandType属性用于确定RecordSource属性的可选取的类型,有四种可选的类型。 (4)UserName和Password属性 设置UserName(用户名)和Password(口令)的属性,在访问受保护 的数据库时是必要的。 (5)BOFAction和EOFAction属性 可以利用这两个属性给定的可选择的常量,确定ADO数据控件所采取的操作。 VB程序设计与数据库应用

  37. 7.5.2 ADO数据控件的常用属性、方法和事件 (6)ConnectionTimeout属性 ConnectionTimeout属性用于设置在建立一个连接时,系统等待的时间,以秒为单位。 2.ADO数据控件的常用方法 (1)MoveFirst、MoveLast、MovePrevious和MoveNext方法 这4个方法分别表示移动到记录集的首记录、末记录、上一条记录和下一条记录。 VB程序设计与数据库应用

  38. 7.5.2 ADO数据控件的常用属性、方法和事件 (2)Find方法 在记录集中查找满足条件的记录。 (3)AddNew、Delete、Update和CancelUpdate方法 (4)Close方法 关闭指定的记录集,释放其占用的系统资源。 VB程序设计与数据库应用

  39. 7.5.2 ADO数据控件的常用属性、方法和事件 3.ADO数据控件的常用事件 (1)WillMove和MoveComplete事件 (2)WillChangeField和FieldChangeComplete事件 (3)WillChangeRecord和RecordChangeComplete事件 7.5.3 ADO数据控件应用实例 1.窗体及其控件的属性设置(prjexp7_7(P230).vbp) 2.程序代码 VB程序设计与数据库应用

  40. 7.6 使用数据窗体向导 VB提供了非常便捷的访问数据库的方法,同时它还提供了创建用户数据窗体的向导。 在向导的引导下,可以非常轻松地创建ADO数据控件和约束控件,并且形成用户的窗体。 7.6.1 添加数据窗体向导 VB的数据窗体向导是作为外接程序提供的,在没有加载该功能时,它不出现在系统菜单中,因此需要将它添加到菜单中才能使用。 VB程序设计与数据库应用

  41. 7.6.2 使用数据窗体向导 ① 选择【外接程序】→【数据窗体向导】命令 。 ②选择数据库的类型。 ③ 在出现的第三个向导对话框中确定要连接的数据库。 ④ 在文本框中输入要创建窗体的名称 。 ⑤ 选择所需的字段。 ⑥ 选择需要添加到窗体上的控件按钮。 ⑦ 单击【完成】按钮。 ⑧ 可以在创建的数据窗体中进行其他设置。 (关于数据窗体的例题请参阅例题prjexp7_8(P236).vbp ) VB程序设计与数据库应用

  42. 习题7 7-7在Access中,建立名为“资产”的数据库,用设计视图的方式创建两个表,数据结构如表7-10和表7-11所示。 (祥见教材) 解题思路: 1.启动Access 后,建立名为“资产”的数据库文件。 2.然后按照教材中表7-10和表7-11中对各字段的描述,建立数据表。表中的字段名可以用英文、拼音或中文,教材中使用的是拼音。其中关于标题的中文设置,是为了用户对数据操作时直观,能够起到提示作用。 7-9在7-7题建立的表中输入以下数据,如图7-55所示,并完成相应处理。 (1)在实验室资产表中查询价格>1000的记录,字段含:资产名称、价格和购买日期三个字段。 VB程序设计与数据库应用

  43. (2)将两个表按照ZCBH(资产编号)建立关系,查询JG(价格)大于5000且JYRQ(借用日期)超过1999年11月的记录,字段含:资产名称、借用人、价格和借用日期4个字段。(2)将两个表按照ZCBH(资产编号)建立关系,查询JG(价格)大于5000且JYRQ(借用日期)超过1999年11月的记录,字段含:资产名称、借用人、价格和借用日期4个字段。 (3)建立参数查询,可以在实验室资产表中,按资产编号查询。字段含:资产编号、资产名称、是否归还、价格等四个。 解题思路: 1.按照教材图7-55所示的数据,分别在“实验室资产”表和“资产借用”表中输入数据。 2.在“数据库”窗口中新建查询,选择“设计视图”方式后,将“实验室资产”表和“资产借用”表添加到“选择查询”窗口中。 3.按照(1)、(2)、(3)题目的要求,设计相应的查询。 VB程序设计与数据库应用

  44. 7-10 写出下列SQL语句。 (1)在实验室资产表中查询价格超过7000元的所有示波器的记录,字段含:资产名称、规格和价格3个字段。 (2)更新资产编号为“WYB3-1-1”资产的GG(规格)为“TES-2207”、JG(价格)为460。 解题思路: 1.在第(1)题中,用SELECT选择所需的字段,FROM 确定表,在WHERE中设定条件,其中“所有示波器” ,用Like “*示波器”表示。 2.在第(2)题中,更新操作是通过SQL的UPDATE 语句实现的。用SET设置具体的更新对象和内容。 VB程序设计与数据库应用

  45. 7-12 将“资产”数据库中“实验室资产”表的数据,用Data控件的方法在窗体中显示,并实现对数据库的添加、删除、更新3项操作。运行界面见教材图7-56。 解题思路: 1.按照图7-56设计该题的界面。 2.在属性窗口进行设置:连接数据库和表,将窗体中的文本框和表中的字段绑定。 3.设计“添加”、“删除” 、“更新”和“退出”四个按钮Click事件过程中的代码。(参考例题prjexp7_4(P219)中的代码即可。) 7-13 用程序设计的方式连接数据库“资产”,使用SQL查询作为数据源,提供“资产借用表”中的ZCBH(资产编号)、JYR(借用人)和JYRQ(借用日期)3个字段在窗体上显示。运行界面见教材图7-57。 VB程序设计与数据库应用

  46. 解题思路: 1.按照图7-57设计该题的界面。 2.用Data1.Connect设置连接数据库的类型。 3.用Data1.DatabaseName 指定要连接数据库。 4.用Data1.RecordSource 和SQL查询设置数据源。 5.用 对象.DataField = “字段名”的形式将数据绑定。 (该题可参考例题prjexp7_5(P223)中的代码。) 7-14 用ADO数据控件的方法,完成7-12题的要求。当移动记录时,在ADO数据控件上显示当前记录号。 解题思路: 1.按照图7-56设计该题的界面。 2.在属性窗口进行设置:用Adodc1.ConnectionString设置欲 VB程序设计与数据库应用

  47. 连接数据库及类型。用Adodc1.RecordSource 指定要连接的表。将窗体中的文本框和表中的字段绑定。 3.设计“添加”、“删除” 、“更新”和“退出”四个按钮Click事件过程中的代码。(参考例题prjexp7_7(P230)中的代码即可。) 7-15 用数据窗体向导的方法创建用户窗体。要求采用“主表/细表”的形式,将“实验室资产表”作为主表,“资产借用表”作为细表,生成窗体后加以调整。运行界面见教材图7-58。 解题思路: 1.在数据窗体向导中选择“主表/细表”。 2.选择记录源和字段。 3.在生成的界面中调整窗体的布局呈习题要求的形式。 VB程序设计与数据库应用

More Related