Basic程序设计基础》-第10章 数据库应用程序开发基.ppt_第1页
Basic程序设计基础》-第10章 数据库应用程序开发基.ppt_第2页
Basic程序设计基础》-第10章 数据库应用程序开发基.ppt_第3页
Basic程序设计基础》-第10章 数据库应用程序开发基.ppt_第4页
Basic程序设计基础》-第10章 数据库应用程序开发基.ppt_第5页
已阅读5页,还剩45页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第10章 数据库应用程序开发基础,1.了解数据库中的基本概念; 2.掌握用VB内部的可视化数据管理器建立数据库和SQL语句的基本方法及数据控件和数据绑定控件的常用属性、方法、事件; 3.熟练掌握用VB开发一个简单的数据库应用程序的步骤和方法。,本章学习目标,10.1数据库基础,10.1.1 数据库概念,1.数据库管理系统(DBMS) 2.数据库(DateBase) 3.数据库应用程序是使用户能够获取、显示和更新由DBMS管理的数据的用户程序。 4.数据库系统(Database System)主要由数据库管理系统、数据库和数据库应用程序三大部分组成。,10.1.2关系数据库基础,根据数据模型,即

2、实现数据结构化所采用的联系方式,数据库可以分为层次数据库、网状数据库和关系数据库。,关系数据库的有关概念,1 关系(表) 在关系数据库中,数据以关系的形式出现,可以把关系理解成一张二维表(Table)。 2 记录(行) 每张二维表均由若干行和列构成,其中每一行称为一条记录(Record) 3 字段(列) 二维表中的每一列称为一个字段(Field),每一列均有一个名字,称为字段名,各字段名互不相同。 4 主键 关系数据库中的某个字段或某些字段的组合定义为主键(Primary Key)。每条记录的主键值都是唯一的,这就保证了可以通过主键唯一标识一条记录。 5索引 为了提高数据库的访问效率,表中的记

3、录应该按照一定顺序排列,通常建立一个较小的表索引表,该表中只含有索引字段和记录号。通过索引表可以快速确定要访问记录的位置。,10.1.3 VB数据库应用程序的组成,VB6.0数据库应用程序由用户界面、数据库引擎和数据库3大部分组成。 1.用户界面 用户界面包括用于与用户交互的界面和代码,如对数据库记录进行添加、删除、修改、查询等操作的VB代码,完成查询和数据更新的窗体等。 2.数据库引擎 数据库引擎是一组动态链接库(DLL),主要任务是解释应用程序的请求并形成对数据库的物理操作,管理对数据库的物理操作,维护数据库的完整性和安全性,处理SQL语言的查询操作,实现对数据库的检索、添加、删除等,管理

4、查询返回的结果等。 3.数据库 数据库只包含数据,而对数据的操作都是由数据库引擎来完成。,10.1.4 用户与数据库引擎的接口,1.数据控件(Data Control) 用数据控件可以不经过编程而访问数据库。根据需要设置好数据控件的属性后,即可通过诸如文本框之类的控件与数据库绑定,从而实现对数据库中各个记录的访问。 2.数据访问控件(DAO) 数据访问对象是由Microsoft Jet 数据库引擎定义的对象,是通过程序访问数据库的对象结构。 3.ActiveX数据对象(ADO) ADO是VB6.0为数据访问提供的全新技术。ADO是一种建立在最新数据访问接口OLE DB之上的高性能的、统一的数据

5、访问对象,通过它可以访问文件数据库、客户/服务器数据库甚至非关系型数据库。,10.1.5 VB可以访问数据库的类型,1.VB6.0数据库 VB6.0数据库文件使用与Microsoft Access相同的格式,也称为内部数据库或本地数据库。 2.外部数据库 在VB6.0中,能够创建和操作所有“索引顺序访问方法(ISAM)”数据库,如Foxpro、Foxbase 、Paradox等,还可以访问电子表格软件Microsof Excel 或 Lotus 123、文本文件数据库等。 3.ODBC数据库 VB6.0可以访问ODBC标准的客户/服务器数据库,如Microsoft SQL Server等。,1

6、0.2 VB可视化数据管理器,10.2.1数据管理器的功能和操作,1、可视化数据管理器 VisData是一个为VB6.0应用程序建立和管理数据库的极好工具。使用可视化数据管理器建立的数据库是Access数据库(类型名为.mdb),可以被Access直接打开和操作。,2.打开VisData,可以从VB6.0中启动VisData程序。先打开VB窗口,然后在集成环境菜单栏上选择“外接程序可视化数据管理器”如图101所示,即可启动VisData。,10.2.2用数据库管理器建立数据库,1.建立数据库结构,以建立一个如下结构的学生表为例:,(1)在“可视化数据管理器”窗口中执行“文件”菜单中的“新建”命

7、令(假设选择Microsoft Access,版本7.0 MDB)后,弹出如图13-4所示的对话框。,(2)在对话框中选择数据库文件保存的位置,并输入文件名后(保存类型只能是MDB)单击保存按钮,将打开如图13-5所示的建立数据表窗口。,(3)右击数据库窗口,在弹出的菜单中选择“新建表”命令,打开如图13-6所示的“表结构”对话框。,图13-5 建立数据表窗口,图10-14 “表结构”对话框,(4)在“表结构”对话框中输入表名后,单击“添加字段”按钮,在弹出的如图13-7所示的“添加字段”对话框中输入字段名,选择字段类型(Text类型字段还需输入字段大小)。重复此过程直至添加完所有字段后,单击

8、“关闭”按钮。,图10-15 “添加字段”对话框,3 建立索引 单击“表结构”对话框的“添加索引”按钮,在弹出的对话框中(如图13-8所示)输入索引名称,选择索引字段后,单击“确定”按钮即完成了索引的建立过程。,图10-16 “添加索引”对话框图 示“数据库”窗口,2.修改表结构 在数据库窗口中用鼠标右击要修改的表名称,选择“设计”选项,打开“表结构”对话框,即可对表的结构进行修改。,3.输入数据记录 建立表结构后,可以把记录数据输入到表中。输入数据时,可以分为使用数据控件、不使用数据控件、使用DBGrid控件3种方式操作。,4.删除记录 (1)使用DBGrid控件 (2)不使用DBGrid控

9、件,10.3数据控件和数据绑定控件,10.3.1数据控件的外观和功能,数据控件的外观 在工具箱中双击数据控件图标,或单击该控件后在窗体上拖动画出控件,都可以看到数据控件的外观及各个按钮提供的基本功能如图1026所示。,2.数据控件的功能 数据控件用于将一个数据源连接到一个数据绑定控件,数据源可以是DAO/Jet或ODBC。使用数据控件可以完成以下功能而不需要编写任何代码。 (1)完成对本地和远程数据库的连接。 (2)打开指定数据库的表,或者是基于SQL的查询集。 (3)将表中的字段传值至数据绑定控件,并针对数据绑定控件的修改更新数据库。 (4)捕获访问数据时出现的错误。 (5)关闭数据库。,1

10、0.3.2数据控件和数据绑定控件的常用属性,一、数据控件的主要属性 1. Connect属性指定数据库类型 VB可识别的数据库有:MDB文件、DBF文件、DB文件、DF文件和ODBC数据库 2. DatabaseName属性指定具体使用的数据库。 3. RecordType属性确定记录集合类型。 4. RecordSource属性确定具体可访问的数据表。 5. EofAction和BofAction属性决定数据控件要采取的操作。 6. RedaOnly属性用于控制能否对记录集进行写操作。 要使关联控件能被数据库约束,必须对控件的两个属性进行设置: 7.DataSource属性通过指定一个有效的

11、数据控件连接一个数据库。 8.DataField属性设置数据库有效的字段。,二、数据绑定控件常有的属性 数据控件用于数据文件的连接,但没有显示数据记录的能力。因此,数据控件还要和其他控件相结合,才能对数据库中的记录进行操作,这些与数据控件相结合来操作记录的控件,称为数据绑定控件。数据绑定控件通过DataSource属性和Datafield属性来连接某个数据控件。 1.DataSource 该属性提供一个下拉式列表,用户可从中选择要连接的数据控件名称,数据绑定控件通过该属性绑定到一个数据控件。 2.DataField DataSource属性指定数据绑定控件需要的表信息。Datafield属性指

12、定表中的某个字段作为该控件所要显示和更新的内容。,10.3.3使用Recordset对象访问数据库,1.Recordset对象的主要属性 Recordset对象的主要属性如表105所示。,表10-5 Recordset对象的主要属性,2.Recordset对象的主要方法 Recordset对象的主要方法如表106所示。,表10-6 Recordset对象的主要方法,10.4ADO数据控件,10.4.1ADO数据控件,ADO数据控件是ActiveX控件,要创建一个客户或前端数据库应用程序,应再窗体中添加ADO数据控件Adodc以及其他所需的任何VB控件。为了使用ADO数据控件,需通过“工程部件”

13、向工具箱中添加“Microsoft ADO Data Control 6.0(OLE DB)”(Adodc控件)、“Microsoft DataList Control 6.0(OLE DB)”(DataList、DataCombo控件)、“Microsoft DataGrid Control 6.0(OLE DB)”(DataGrid控件)、“Microsoft Hierarchical FlexGrid Control 6.0(OLE DB)”(MSHFlexGrid控件)等,这些控件在工具箱中的图标如图1032所示。,1.用Adodc控件连接数据库并创建数据源 2. Adodc控件的主要

14、属性和方法 (1)Connectionstring属性 该属性指定有效的与数据源连接的字符串,通过该字符串使Adodc控件与指定的数据库建立连接。 (2)RecordSource属性 设置或返回记录集的SQL查询语句或表名,字符串类型。 (3)CommandType属性 说明执行命令的类型,数值型。 (4) Recordset属性 对象型,返回或设置对下一级ADO Recordset对象的引用。该对象的属性、方法和用法与Data控件的Recordset对象相似。 (5)Refresh方法 打开或重新打开连接的数据源,并能重建控件的Recordset属性。,3.Adodc控件的主要事件 (1)W

15、illMove/MoveComplete事件 更改Recordset中的当前记录指针位置前/后引发。 (2)WillChangeRecord/RecordChangeComplete事件 在Recordset中的一个或多个记录更改前/后引发。 (3)WillChangeField/FieldChangeComplete事件 对Recordset中的一个或多个Field对象值进行更改前/后引发。,10.4.ADO对象模型,ADO对象模型定义了一个可编程的分层对象集合,主要包括3个对象:连接对象(Connection)、命令对象(Command)、记录集对象(Recordset)。 ADO对象的分

16、工见表1010所示。,1.ADO的Connection对象,图1038 ADO对象模型,2.ADO的Command对象 命令对象(Command)定义了将对数据源执行的指定命令,作用相当于一个查询。使用Command对象查询数据库,并返回Recordset对象中的记录,以便执行大量操作或处理数据库结构。 (1)Command对象的主要属性 ActiveConnection属性:设置或返回指定的Command对象当前所属的Connection对象。 CommandText属性:设置或返回命令(SQL语句、表名)的字符串值。 CommandType属性:指示Command对象的类型。,(2)Com

17、mand对象的主要方法 Execute方法用于执行在CommandText中指定的查询、SQL语句。 3.ADO的Recordset对象 (1) Source属性用于指示Recordset对象中数据的来源(可以是Command对象、SQL语句或表的名称)。 (2)ActiveConnection属性用于设置或返回指定的Recordset对象当前所属的Connection对象。 (3)Open方法用于打开表、查询结果或者以前保存的Recordset中记录集。 (4)UpdateBatch方法用于更新记录集。,10.4.3结构化查询语言SQL 一、SQL概述 结构化查询语言SQL是操作数据库的工业

18、标准语言。在SQL语言中,指定要做什么而不是怎么做。只要告诉SQL需要数据库做什么,可以确切指定想要检索的记录以及按什么顺序检索。可以在设计或运行时对数据控件使用SQL语句。用户提出一个查询,数据库返回所有与该查询匹配的记录。,1.SQL语言与分类 SQL语言具有以下功能: (1)在数据库中查找并返回符合条件的记录。 (2)创建、更改和删除数据库中的表、字段和索引等。 (3)可以对表中的数据进行统计,如计算总和、平均值等,标准SQL语言的分类: (1)数据查询DQL (2)数据操作语言DML (3)数据定义语言DDL,2.VB环境下SQL的使用方法 (1) 在VisData中,先打开一个数据库

19、,如“F:水利水电教材用学生管理系统Stud05.mdb”,SQL语句窗口中输入SQL语句如:SELECT * FROM 学籍,单击“执行”命令按钮,运行结果如图1039所示。 (2)在ADO/DAO对象编程中设置RecordSource属性,或在Connection对象、Command对象的Excute方法和Recordset对象的Open方法中的命令串中使用SQL语句。,二、SQL数据查询语句 1.SQL语句基本格式 SELETEALL|DISTINCTAlias.Select_ItemAS Column_Name,Alias.Select_ItemAS Column_Name FROMT

20、able_NameASLocal_Alias,Table_NameASLocal_Alias, WHERE GROUP BY groupfieldlist ORDER BY ASC|DESC,其中:ALL或*:指定选取所有满足条件的记录。 DISTINCT:有两个以上相同记录时,仅选择一个。 Select_Item:选择表的字段名,多个字段名之间用逗号相隔。 Column_Name:查询结果显示时,显示的列标题名,省略时显示字段名。 Table_Name:获取数据的表或视图名称,多个表名间显示字段名。 Local_Alias:数据源表或视图的别名,Select子句中的Alias与它相同。 WH

21、ERE:建立一个子句,指定返回的查询结果应满足的条件。 GROUP BY:按照选定的字段将查询结果分组。 ORDER BY:指明返回的查询结果按哪些字段、按升序(ASC)还是降序(DESC)排序。多个字段名之间用逗号相隔。,2.有条件的SELECT查询语句 设定WHERE子句中的条件表达式,可获得满足条件的查询结果。在条件表达式中,SQL提供的基本运算符有:算术运算符、关系运算符和逻辑运算符。此外SQL还增加了一组运算符: Between运算符:用于数值或日期类型的字段。 Between运算符:用于数值或日期类型的字段。 Like运算符:用于找出符合指定条件的字段值。Like中可以使用的特殊字

22、符见表1014。如找出姓名以“刘”开始的学生的学籍情况用:姓名 Like “刘*”。 In运算符:判断表达式的数值是否等于指定列表(集合)中几个数据项中的一个。 例108 SQL语言示例二(查询均在学籍表中) (1)查询姓名为“刘小芳”的学生信息。 SELECT * FROM 学籍 WHERE 姓名”刘小芳” 提示:在SQL中字符串用单引号或双引号均可。,3. 组合查询 组合查询是指所查询的数据源来自多个表格。在这种情况下,被查询的多个表中每两个表至少有一个字段数据相同,且两个表格相互比较的字段,其数据类型必须相同,一个复杂的查询其用到的表可能会有很多个。,4.分组查询 在SELECT语句中利

23、用GROUP BY 子句将查询结果按该子句后指定的字段名(最多10个)分组显示。例1010 SQL语言示例四。 按学号分组显示学生的学号,姓名,课程,分数。所用的查询语句是: SELECT 学籍.学号,学籍.姓名,成绩.课程,成绩.分数 FROM 学籍,成绩 WHERE 学籍.学号=成绩.学号 ORDER BY 学籍.学号,5.分类统计的SELECT语句 在SELECT语句的字段名表中,可以使用以下几个常用的统计函数: COUNT(字段名):返回满足条件的记录数,不包括Null值字段。除非字段名用“*”. SUM(字段名):返回指定字段值的总和(不包括Null值字段)。 AVG(字段名):返回

24、指定字段值的算术平均值(不包括Null值字段)。 MAX(字段名):返回指定字段的最大值。 MIN(字段名):返回指定字段的最小值。 例1011 SQL语言示例五。 (1)统计学籍表男生的总人数。 SELECT COUNT(*) AS 男生人数 FROM 学籍 WHERE 性别=男,三、SQL数据操作语句 1.INSERT语句 INSERT语句用来向表中添加一个或多个记录 2.UPDATE语句 UPDATE语句用来更新指定记录的指定字段的数据。 3.DELETE语句 DELETE语句用来删除指定表中的记录。,四、数据绑定控件 在VB6.0的标准控件中,具有数据绑定功能的控件有:复选框(Chec

25、kBox)、文本框(TextBox)、列表框(ListBox)、组合框(ComboBox)、标签(Lable)、图片框(PictureBox)、图像框(Image)等。 另外VB6.0中还提供了许多具有数据绑定功能的ActiveX控件,如:数据列表框(DBList)、数据组合框(DBCombo)、数据网格控件(DataGrid)、分层式网格控件(Hierarchical FlexGrid)、图表控件(MSChart)等。,一般情况下,数据绑定控件使用以下3个属性进行属性绑定。 (1) DataSource(数据源) 该属性指定控件要绑定到那个数据源。这些数据源可以式已经创建好的ADO数据控件、

26、数据环境、数据类模块以及用代码创建的ADO记录集对象。 (2) DataMember(数据成员) 该属性指定控件要绑定到数据源中的哪个命令,即哪个记录集。对于ADO数据控件和用代码创建的ADO记录集对象,由于只有一个记录集,不必指定该属性。 (3) DataField(数据字段) 该属性指定控件要绑定到记录集中的哪个字段。由于各种网格和图表控件绑定到整个记录集,因而这几种控件不必指定该属性。,一般情况下,数据绑定控件使用以下3个属性进行属性绑定。 (1)DataSource(数据源) 该属性指定控件要绑定到那个数据源。这些数据源可以式已经创建好的ADO数据控件、数据环境、数据类模块以及用代码创

27、建的ADO记录集对象。 (2)Datamember(数据成员) 该属性指定控件要绑定到数据源中的哪个命令,即哪个记录集。对于ADO数据控件和用代码创建的ADO记录集对象,由于只有一个记录集,不必指定该属性。 (3)DataField(数据字段) 该属性指定控件要绑定到记录集中的哪个字段。由于各种网格和图表控件绑定到整个记录集,因而这几种控件不必指定该属性。,1.用数据绑定控件显示数据 ADO数据控件连接数据库并创建数据源后,若要显示数据库中的记录,最简单的方式使通过各种数据绑定控件。数据绑定控件被“绑定”到整个记录集或记录集的某个字段上。,2. DataGrid控件的使用 DataGrid控件

28、可一次显示多个记录,并将数据的更改自动更新到数据库中。 使用DataGrid控件时,将DataSource属性设置为一个ADO Data控件。程序运行时,DataGrid控件将显示ADO控件创建的Recordset对象中的记录。 例1016 DataGrid控件应用举例(略),10.5数据环境设计器,10.5.1数据环境设计器概述,数据环境设计器是一个功能非常强大的创建数据库应用程序的形象化界面。使用环境设计器,只需要通过几个对话框就可以建立到数据源或记录源的连接。它比使用ADO数据控件要友好。 数据环境设计器界面如图10-45所示:,使用数据环境设计器,可以完成以下工作 ()添加一个数据环境

29、设计器到一个VB工程中。 () 创建Connection对象。 ()基于存储过程、表、视图、同义词和SQL语句创建Command对象。 ()基于Command对象的一个分组,或通过一个或多个Command对象相关来创建Command的层次结构。 ()为Connection和Recordset对象编写和运行代码。 ()从数据环境设计器中拖动一个Command对象中的字段到一个VB窗体或数据报表设计器。,10.5.2Connection对象,Connection对象代表与数据源进行的惟一会话。数据环境设计器可以在设计时创建一个或多个Connection对象,连接到本地数据库或网络数据源。 在数据环

30、境设计器被创建时,自动添加了一个连接对象Connection1。选择Connection对象并右击鼠标,选择“属性”命令,或单击数据环境设计器工具栏上的“属性”图标,可以打开数据链接属性对话框,如图1046所示。,10.5.3Command对象,要操作数据源的数据,就要先创建Command对象。Command对象可以查询数据库返回的Recordset对象中的记录,也可以进行数据库操作或处理数据库结构。,创建了Connection对象之后,有两种方法创建Connection对象Command1,选中一个Connection对象如Connection1,在数据环境设计器工具栏上单击“添加命令”按钮,添加一个Command1对象;或在Connection对象上右击鼠标,在快捷菜单上选择“添加命令”,添加一个Command1对象。结果如图1047所示。,1.设置Command对象的属性 选中一个Command对象,右击鼠标在快捷菜单中选择“属性”,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论