资源预览内容
第1页 / 共60页
第2页 / 共60页
第3页 / 共60页
第4页 / 共60页
第5页 / 共60页
第6页 / 共60页
第7页 / 共60页
第8页 / 共60页
第9页 / 共60页
第10页 / 共60页
亲,该文档总共60页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
计算机科学系计算机科学系软件设计基础软件设计基础河北理工大学河北理工大学VB程序设计1计算机计算机第第8章章 数据库程序设计数据库程序设计本章学习目标:本章学习目标:了解数据库的一些基本概念,掌握创建了解数据库的一些基本概念,掌握创建Access数据库数据库的方法的方法掌握使用掌握使用DATA和和ADO数据控件连接数据库和数据表的数据控件连接数据库和数据表的方法方法掌握数据识别控件绑定到掌握数据识别控件绑定到ADO数据控件的方法数据控件的方法掌握掌握ADO控件的控件的Recordset对象常用方法和属性对象常用方法和属性理解理解ADO对象模型的概念,掌握使用对象模型的概念,掌握使用ADO对象模型编对象模型编程的方法和步骤程的方法和步骤掌握掌握SQL查询语句在查询语句在VB中的使用中的使用2计算机计算机第第8章章 数据库程序设计数据库程序设计v本章重点本章重点ADO控件的控件的Recordset对象的使用对象的使用ADO对象模型的使用对象模型的使用v本章难点本章难点使用使用ADO对象模型编程实现数据库的访问对象模型编程实现数据库的访问3计算机计算机学习内容学习内容信息管理系统信息管理系统-员工工资管理系统和笔记本基本信息管理系统员工工资管理系统和笔记本基本信息管理系统1 实例演示及分析实例演示及分析 数据库基本概念数据库基本概念 创建数据库和数据表创建数据库和数据表 数据控件数据控件DATA- 常用控件的属性、事件和方法常用控件的属性、事件和方法 数据记录的增删改数据记录的增删改 ADO数据控件和数据控件和SQL查询查询-ADO访问数据模型、常用属性访问数据模型、常用属性和方法和方法 绑定控件绑定控件 数据窗体向导数据窗体向导 数据报表制作数据报表制作4计算机计算机员工工资管理系统员工工资管理系统实例演示实例演示在第在第6章讲解了文件,并用文件保存员工工资管理系统中的职工信息,实章讲解了文件,并用文件保存员工工资管理系统中的职工信息,实现了程序和数据的分离,但是使用文本文件保存和管理数据,保存的数现了程序和数据的分离,但是使用文本文件保存和管理数据,保存的数据量小、安全性差、数据不直观,而且管理困难。数据库技术可以实现据量小、安全性差、数据不直观,而且管理困难。数据库技术可以实现对数据进行科学的组织、存储和有效集中管理,而对数据进行科学的组织、存储和有效集中管理,而VB也为用户提供了访也为用户提供了访问数据库的功能。问数据库的功能。实例演示实例演示-实例实例8.1(实例(实例8.1总)总)5计算机计算机员工工资管理系统员工工资管理系统问题分析问题分析本章的目标是将第本章的目标是将第6章以文本文件为数据源的员章以文本文件为数据源的员工工资管理系统改为以数据库为数据源的员工工工工资管理系统改为以数据库为数据源的员工工资管理系统。数据库管理系统是对数据实施有效资管理系统。数据库管理系统是对数据实施有效集中管理的专门软件,这样的管理方式相对以文集中管理的专门软件,这样的管理方式相对以文本文件为数据源方式的功能强、效率高,保存的本文件为数据源方式的功能强、效率高,保存的数据量大,安全性好。数据量大,安全性好。6计算机计算机员工工资管理系统员工工资管理系统问题分析问题分析根据系统的功能需求分析,设计完成该系统,必须首先创建一个数据库,根据系统的功能需求分析,设计完成该系统,必须首先创建一个数据库,用以保存用以保存员工的基本信息,这样才可以在员工的基本信息,这样才可以在Visual Basic中调用数据库中的中调用数据库中的数据,并以某种方式显示出来。数据,并以某种方式显示出来。要设计一个具有数据信息管理功能的系统,需要下面几个步骤:要设计一个具有数据信息管理功能的系统,需要下面几个步骤:(1)确定并设计系统需要的数据库和数据表,并创建数据库和数据表。)确定并设计系统需要的数据库和数据表,并创建数据库和数据表。(2)新建工程,根据要求设计界面。)新建工程,根据要求设计界面。(3)实现)实现VB工程与数据库的连接。工程与数据库的连接。(4)编写代码实现相应功能。)编写代码实现相应功能。7计算机计算机数据库基本概念数据库基本概念数据库系统数据库系统1. 数据库数据库数据是指能被计算机存储和处理的反映客观实体信息的物理符号。数字、数据是指能被计算机存储和处理的反映客观实体信息的物理符号。数字、文字、表格、音频、视频、图形、图像和动画等都被称为数据。数据库文字、表格、音频、视频、图形、图像和动画等都被称为数据。数据库(Data Base,简记为,简记为DB)则是为某种特殊目的而组织起来的记录和文件)则是为某种特殊目的而组织起来的记录和文件的集合。的集合。2. 数据库管理系统数据库管理系统数据库管理系统(数据库管理系统(Data Base Manage System,简称为,简称为DBMS),是数),是数据库系统中对数据进行管理的专门软件,是数据库系统的核心组成部分,据库系统中对数据进行管理的专门软件,是数据库系统的核心组成部分,对数据库的所有操作和控制,都是通过对数据库的所有操作和控制,都是通过DBMS来进行的。来进行的。3. 数据库应用系统数据库应用系统是在某种是在某种DBMS的支持下,根据实际应用的需要,开发出来的应用程序包的支持下,根据实际应用的需要,开发出来的应用程序包8计算机计算机数据库基本概念数据库基本概念关系数据库关系数据库1.数据模型数据模型数据模型是表示数据及数据之间联系的结构方式。在实际的数据处理中,数据模型是表示数据及数据之间联系的结构方式。在实际的数据处理中,先将现实世界的事物及其联系抽象为信息世界的信息模型,再将信息模型先将现实世界的事物及其联系抽象为信息世界的信息模型,再将信息模型抽象转化为计算机世界的数据模型。数据模型的好坏直接影响数据库的性抽象转化为计算机世界的数据模型。数据模型的好坏直接影响数据库的性能。数据模型的设计方法决定着数据库的设计方法,目前流行的模型有:能。数据模型的设计方法决定着数据库的设计方法,目前流行的模型有:网状模型、层次模型和关系模型。网状模型、层次模型和关系模型。(1)网状模型是用图结构来表示数据之间的联系。)网状模型是用图结构来表示数据之间的联系。(2)层次模型是用树结构来表示数据之间的联系。)层次模型是用树结构来表示数据之间的联系。(3)关系模型是用二维表结构来表示数据之间的联系。)关系模型是用二维表结构来表示数据之间的联系。 关系模型是一种较先进的模型,目前几乎所有的现代关系模型是一种较先进的模型,目前几乎所有的现代DBMS都使用关系都使用关系数据库模型来存储和处理信息。在关系数据库管理系统中,系统以表的形数据库模型来存储和处理信息。在关系数据库管理系统中,系统以表的形式管理所有数据。式管理所有数据。9计算机计算机数据库基本概念数据库基本概念关系数据库关系数据库2.关系数据库关系数据库 关系数据库是以关系模型为基础的数据库,它由以下三部分组成:关系数据库是以关系模型为基础的数据库,它由以下三部分组成:(1)数据结构)数据结构模型所操作的对象、类型的集合。模型所操作的对象、类型的集合。(2)完整性规则)完整性规则保证数据有效、正确的约束条件。保证数据有效、正确的约束条件。(3)数据操作)数据操作对模型对象所允许执行的操作方式。对模型对象所允许执行的操作方式。3.关系表关系表(1)关系:)关系:关系(关系(Relation)是一个由行和列组成的二维表格,也称为关系表或)是一个由行和列组成的二维表格,也称为关系表或表。表。 (2)字段:表由若干行和若干列组成,每一列称为字段(字段:表由若干行和若干列组成,每一列称为字段(Field)。)。 (3)记录:表中的每一行称为记录()记录:表中的每一行称为记录(Record) 。(4) 值:在表中的行和列,凡记录和字段的相交处就是值值:在表中的行和列,凡记录和字段的相交处就是值存储的数据元素存储的数据元素 。(5)表的主键和索引:)表的主键和索引:10计算机计算机数据库基本概念数据库基本概念关系数据库关系数据库字段记录主键按学号索引图8.7 笔记本价格信息表11计算机计算机数据库基本概念数据库基本概念关系数据库关系数据库4.记录集记录集数据库可以由多个表组成,表与表之间可以用不同的方式相互关联。例如数据库可以由多个表组成,表与表之间可以用不同的方式相互关联。例如在笔记本信息管理数据库中还有一个基本配置表,其结构如图在笔记本信息管理数据库中还有一个基本配置表,其结构如图8.8所示。在所示。在该表中只需一个编号字段引用笔记本的品牌和价格信息等,而不必重复每该表中只需一个编号字段引用笔记本的品牌和价格信息等,而不必重复每一个字段,通过两个表中相同的编号字段就可以把笔记本的配置信息和价一个字段,通过两个表中相同的编号字段就可以把笔记本的配置信息和价格信息等联系起来了。格信息等联系起来了。图8.8 基本配置表的结构12计算机计算机数据库基本概念数据库基本概念关系数据库关系数据库4.记录集记录集在在Visual Basic中,可以将一个或几个表中的数据构成记录集中,可以将一个或几个表中的数据构成记录集RecordSet对象,记录集也由行和列构成,它与表类似,如图对象,记录集也由行和列构成,它与表类似,如图8.9所示。所示。数据库记录集图8.9 数据库与记录集13计算机计算机数据库基本概念数据库基本概念关系数据库关系数据库4.记录集记录集在在Visual Basic中数据库内的表格不允许直接访问,而只能通过记录集对中数据库内的表格不允许直接访问,而只能通过记录集对象进行记录的操作和浏览,因此,记录集是一种浏览数据库的工具。用户象进行记录的操作和浏览,因此,记录集是一种浏览数据库的工具。用户可根据需要,通过使用记录集对象选择数据。可根据需要,通过使用记录集对象选择数据。记录集有三种类型:记录集有三种类型:1.表类型(表类型(Table):表类型的):表类型的RecordSet对象是当前数据库真实的数据表。对象是当前数据库真实的数据表。它比其他类型的记录集处理速度都快,但需要大量的内存开销。它比其他类型的记录集处理速度都快,但需要大量的内存开销。2. 动态集类型(动态集类型(DynaSet):动态集类型的):动态集类型的RecordSet对象是可以更新的数据对象是可以更新的数据集,它实际上是对一个或者几个表中的记录的引用。集,它实际上是对一个或者几个表中的记录的引用。3.快照类型(快照类型(SnapShot):快照类型的):快照类型的RecordSet对象是静态数据的显示。对象是静态数据的显示。它包含的数据是固定的,记录集为只读状态,它反映了在产生快照的一瞬间数它包含的数据是固定的,记录集为只读状态,它反映了在产生快照的一瞬间数据库的状态。快照是最缺少灵活性的记录集,但它所需要的内存开销最少。如据库的状态。快照是最缺少灵活性的记录集,但它所需要的内存开销最少。如果只是浏览记录,可以用快照类型果只是浏览记录,可以用快照类型14计算机计算机数据库的创建数据库的创建任务分析任务分析在员工工资管理系统中,要保存员工个人信息,即员工编号、姓名、年龄、在员工工资管理系统中,要保存员工个人信息,即员工编号、姓名、年龄、所在部门、职位等,还要保存员工工资信息,即员工编号、基本工资、奖所在部门、职位等,还要保存员工工资信息,即员工编号、基本工资、奖金、各种补助。因此需要建立一个数据库,库中要有两张表。金、各种补助。因此需要建立一个数据库,库中要有两张表。数据库创建有很多软件,如数据库创建有很多软件,如Access、SQL Sever、VFP等。我们使用等。我们使用Access数据库,可以用数据库,可以用Access数据库开发软件创建,也可以用数据库开发软件创建,也可以用VB集成开集成开发环境中的发环境中的“可视化数据管理器可视化数据管理器”创建。创建。15计算机计算机数据库的创建数据库的创建操作步骤操作步骤1.启动启动VB新建工程。新建工程。2.建立数据库。建立数据库。3.(1)在)在VB集成开发环境中,单击集成开发环境中,单击“外接程序外接程序”“可视化数据管理器可视化数据管理器”,打开可视化数据管理器的,打开可视化数据管理器的“VisData”窗口,如图窗口,如图8.10所示。所示。4.(2)单击)单击“文件文件”“新建新建”“Microsoft Access” “Version 7.0 MDB”,打开,打开“选择要创建的选择要创建的Microsoft Access 数据库数据库”对话框。对话框。5.(3)在该对话框中数据要创建的数据库文件的名称,)在该对话框中数据要创建的数据库文件的名称,6.指定保存的路径。一般将数据库保存在和工程文件指定保存的路径。一般将数据库保存在和工程文件7.相同的文件夹中。相同的文件夹中。图8.10 可视化数据管理器窗口16计算机计算机数据库的创建数据库的创建操作步骤操作步骤17计算机计算机数据库的创建数据库的创建操作步骤操作步骤3.建立数据表。建立数据表。(1)确定表结构。)确定表结构。 员工基本信息表员工基本信息表 员工工资表员工工资表字段名数据类型长度字段名数据类型长度员工编号文本8员工姓名文本10年龄数字所在部门文本20职位文本10字段名数据类型长度字段名数据类型长度员工编号文本8标准工资数字双精度型奖金数字双精度型各种补助数字双精度型18计算机计算机数据库的创建数据库的创建操作步骤操作步骤3.建立数据表。建立数据表。(2)建立表结构。)建立表结构。在图在图8.11所示的所示的“数据库窗口数据库窗口”的空白处右击,从弹出的快捷菜单中选的空白处右击,从弹出的快捷菜单中选择择“新建表新建表”,打开如图,打开如图8.12所示的表结构对话框。所示的表结构对话框。在在“表名称表名称”文本框中输入数据表的名称文本框中输入数据表的名称,“添加字段添加字段”按钮按钮 所有字段添加之后,单击所有字段添加之后,单击“生成表生成表”。(3)输入表记录。)输入表记录。图8.12 “表结构”对话框19计算机计算机数据库的创建数据库的创建操作步骤操作步骤3.建立数据表。建立数据表。(3)输入表记录。)输入表记录。双击表名称,即可双击表名称,即可输入表记录,如图所示。输入表记录,如图所示。20计算机计算机数据控件数据控件Data员工基本信息浏览员工基本信息浏览要在要在Visual Basic中访问数据库,就要使用一个能够访问数据库的控件。中访问数据库,就要使用一个能够访问数据库的控件。主要有主要有Data控件、控件、DAO控件、控件、ADO控件等,其中控件等,其中Data控件控件 是是Visual Basic内嵌的一个访问数据库的方便的工具。内嵌的一个访问数据库的方便的工具。实例演示实例演示设计程序界面设计程序界面 添加添加Data控件控件21计算机计算机数据控件数据控件Data使用使用Data控件连接数据库和数据表控件连接数据库和数据表设置设置Data控件属性控件属性(1)Connect属性属性Connect属性指定数据控件所要连接的数据库类型,属性指定数据控件所要连接的数据库类型,VB默认的数据库是默认的数据库是Access的的MDB文件。此外,也可连接文件。此外,也可连接DBF、XLS、ODBC等类型的数据等类型的数据库。库。(2)DatabaseName属性属性DatabaseName属性指定具体使用的数据库文件名,包括所有的路径名。属性指定具体使用的数据库文件名,包括所有的路径名。本例中选本例中选wages.mdb。注意:注意:最好最好将数据库文件和工程文件放在同一个文件夹下将数据库文件和工程文件放在同一个文件夹下,这样设置其,这样设置其DatabaseName属性时只写文件名即可。否则,如果写绝对路径,则随着属性时只写文件名即可。否则,如果写绝对路径,则随着工程文件位置的改变,可能出现找不到数据库文件的错误。工程文件位置的改变,可能出现找不到数据库文件的错误。22计算机计算机数据控件数据控件Data使用使用Data控件连接数据库和数据表控件连接数据库和数据表设置设置Data控件属性控件属性(3)RecordSource属性属性RecordSource属性确定具体可访问的数据,这些数据构成记录集对象的属性确定具体可访问的数据,这些数据构成记录集对象的RecordSet对象。该属性值可以是数据库中的单个表名,一个存储查询,对象。该属性值可以是数据库中的单个表名,一个存储查询,也可以是使用也可以是使用SQL查询语言的一个查询字符串。查询语言的一个查询字符串。(本例这中选本例这中选info)(4) RecordType属性属性确定记录集类型,指定记录集的确定记录集类型,指定记录集的Table、DynaSet、SnapShot三种类型中三种类型中的一种的一种.本例中因为只是浏览信息,无需修改记录,故可将其类型选为本例中因为只是浏览信息,无需修改记录,故可将其类型选为SnapShot23计算机计算机数据控件数据控件Data将数据绑定控件绑定到将数据绑定控件绑定到Data控件控件在在Visual Basic中,中,数据控件本身不能直接显示记录集中的数据,必须通数据控件本身不能直接显示记录集中的数据,必须通过能与它绑定的控件来实现。过能与它绑定的控件来实现。可与数据控件绑定的控件对象有文本框、标可与数据控件绑定的控件对象有文本框、标签、图像框、图形框、列表框、组合框、复选框、网格、签、图像框、图形框、列表框、组合框、复选框、网格、DB列表框、列表框、DB网格和网格和OLE容器等空间。容器等空间。本例中的数据绑定控件为文本框。必须设置数据绑定控件的两个属性:本例中的数据绑定控件为文本框。必须设置数据绑定控件的两个属性:(1) DataSource属性属性通过指定一个有效的数据控件绑定控件连接到一个数据源上。通过指定一个有效的数据控件绑定控件连接到一个数据源上。(2)DataField属性属性设置数据源中有效的字段使绑定控件与其建立联系。设置数据源中有效的字段使绑定控件与其建立联系。本实例中分别设置几个文本框的上述两个属性。本实例中分别设置几个文本框的上述两个属性。24计算机计算机数据控件数据控件Data编写实现信息浏览的代码编写实现信息浏览的代码Data控件本身就有浏览记录的功能,单击对应按钮可实现控件本身就有浏览记录的功能,单击对应按钮可实现“第一条第一条”、“上一条上一条”、“下一条下一条”和和“最后一条最后一条”的功能。的功能。但直接使用控件浏览不是很好看,可通过单击按钮完成。必须使用但直接使用控件浏览不是很好看,可通过单击按钮完成。必须使用RecordSet记录集的属性和方法来实现。记录集的属性和方法来实现。(1) AbsolutePosition属性属性AbsolutePosition属性返回当前指针值,如果是第属性返回当前指针值,如果是第1条记录,其值为条记录,其值为0。该。该属性为只读属性。属性为只读属性。在在Data控件的控件的Reposition事件中,修改事件中,修改Data控件的控件的Caption属性。属性。(2)RecordCount属性属性RecordCount属性对属性对Recordset对象中的记录计数,为只读属性。对象中的记录计数,为只读属性。(3)BOF和和EOF属性属性25计算机计算机数据控件数据控件Data编写实现信息浏览的代码编写实现信息浏览的代码主要方法主要方法(1) Move方法方法MoveFirst方法:移至第一条记录。方法:移至第一条记录。MoveLast方法:移至最后一条记录。方法:移至最后一条记录。MoveNext方法:移至下一条记录。方法:移至下一条记录。MovePrevious方法:移至上一条记录。方法:移至上一条记录。Move n方法:向前或向后移动方法:向前或向后移动n条记录,条记录,n为指定的数值。为指定的数值。(2)Find 方法方法RecordCount属性对属性对Recordset对象中的记录计数,为只读属性。对象中的记录计数,为只读属性。26计算机计算机数据控件数据控件Data编写实现信息浏览的代码编写实现信息浏览的代码主要方法主要方法(2)Find 方法方法使用使用Find方法可在指定的方法可在指定的Dynaset或或Snapshot类型的类型的Recordset对象中查对象中查找与指定条件相符的一条记录,并使之成为当前记录。共有如下四种找与指定条件相符的一条记录,并使之成为当前记录。共有如下四种Find方法:方法:FindFirst方法:从记录集的开始查找满足条件的第方法:从记录集的开始查找满足条件的第1条记录。条记录。FindLast方法:从记录集的尾部向前查找满足条件的第方法:从记录集的尾部向前查找满足条件的第1条记录。条记录。FindNext方法:从当前记录开始查找满足条件的下一条记录。方法:从当前记录开始查找满足条件的下一条记录。FindPrevious方法:从当前记录开始查找满足条件的上一条记录。方法:从当前记录开始查找满足条件的上一条记录。四种四种Find方法的语法格式相同:方法的语法格式相同: 数据集合数据集合.Find方法方法 条件条件其中,条件是一个指定字段与常量关系的字符串表达式。其中,条件是一个指定字段与常量关系的字符串表达式。27计算机计算机数据控件数据控件Data编写实现信息浏览的代码编写实现信息浏览的代码在写条件时有以下几点需要说明:在写条件时有以下几点需要说明:(1)在)在 语句语句Data1.Recordset.FindFirst 编号编号= & bh & 中,中,bh是个是个字符串变量,必须使用符号字符串变量,必须使用符号“&”进行字符串的连接,其两侧必须加空格。进行字符串的连接,其两侧必须加空格。(2)如果要查找的条件部分是个字符串常量,如查找编号为)如果要查找的条件部分是个字符串常量,如查找编号为“000010”的的记录,则要写成如下形式:记录,则要写成如下形式:Data1.Recordset.FindFirst 编号编号=000010。即字符串常量用单引号括起来。即字符串常量用单引号括起来。(3)如果要查找的条件部分是个数值常量,如查找参考价格大于)如果要查找的条件部分是个数值常量,如查找参考价格大于5000的的记录,则要写成如下形式:记录,则要写成如下形式:Data1.Recordset.FindFirst 参考价格参考价格=5000 ,若将,若将5000存入整型变量存入整型变量jg,则写成:,则写成:Data1.Recordset.FindFirst 参考价格参考价格= & jg(4)可以将条件部分存放在字符串变量中,然后在)可以将条件部分存放在字符串变量中,然后在Find方法使用该字符串方法使用该字符串变量。如:变量。如: Findstr=编号编号= & bh & Data1. Recordset.FindFirst Findstr28计算机计算机数据控件数据控件Data编写实现信息浏览的代码编写实现信息浏览的代码在写条件时有以下几点需要说明:在写条件时有以下几点需要说明:(5)如果要进行模糊查询,如查找型号中含有字符)如果要进行模糊查询,如查找型号中含有字符“S”的笔记本电脑记的笔记本电脑记录,则可以使用如下语句:录,则可以使用如下语句:Data1. Recordset.FindFirst 型号型号 Like *S*其中其中Like是个运算符,是个运算符,*S*匹配型号字段中带有匹配型号字段中带有“S”字符的所有型号的字字符的所有型号的字符串。符串。(6)Find方法进行的查找在默认情况下是不区分大小写的。要改变默认查方法进行的查找在默认情况下是不区分大小写的。要改变默认查找方法,可在窗体的声明部分或声明模块中使用下列语句:找方法,可在窗体的声明部分或声明模块中使用下列语句: Option Compare Text 不区分大小写不区分大小写 Option Compare Binary 区分大小写区分大小写(7)Find方法在找不到相匹配的记录时,当前记录保持在查找的起始处,方法在找不到相匹配的记录时,当前记录保持在查找的起始处,NoMatch属性为属性为True。如果。如果Find方法找到相匹配的记录,则定位到该记录,方法找到相匹配的记录,则定位到该记录,Recordset的的NoMatch属性为属性为False。29计算机计算机数据控件数据控件Data编写实现信息浏览的代码编写实现信息浏览的代码数据控件的事件:数据控件的事件:(1)Reposition事件事件 Reposition事件发生在一条记录成为当前记录后。只要改变记录集的事件发生在一条记录成为当前记录后。只要改变记录集的指针使其从一条记录移到另一条记录,都会触发指针使其从一条记录移到另一条记录,都会触发Reposition事件。通常,事件。通常,可在此事件中显示当前指针的位置。可在此事件中显示当前指针的位置。(2)Validate事件事件 Validate事件是在移动到一条不同记录之前出现。此外,当修改或删除事件是在移动到一条不同记录之前出现。此外,当修改或删除数据表中的记录前或卸载含有数据控件的窗体时都会触发数据表中的记录前或卸载含有数据控件的窗体时都会触发Validate事件。事件。Validate事件能检查被数据控件绑定的控件内的数据是否发生变化。它通事件能检查被数据控件绑定的控件内的数据是否发生变化。它通过过Save参数(参数(True或或False)判断是否有数据发生变化,)判断是否有数据发生变化,Action参数判断参数判断哪一种操作触发了哪一种操作触发了Validate事件。事件。30计算机计算机数据控件数据控件Data编写实现信息浏览的代码编写实现信息浏览的代码表表8.3 Validate8.3 Validate事件的事件的ActionAction参数参数ActionAction值值描述描述ActionAction值值描述描述0取消对数据控件的操作6Update1MoveFirst7Delete2MovePrevious8Find3MoveNext9设置Bookmark4MoveLast10Close5AddNew11卸载窗体31计算机计算机数据控件数据控件Data员工基本信息维护员工基本信息维护在前面浏览信息窗体中,只能浏览信息,却不能进行维护。在上面添加几个用在前面浏览信息窗体中,只能浏览信息,却不能进行维护。在上面添加几个用于维护的按钮,界面设计如图:于维护的按钮,界面设计如图:实例演示实例演示32计算机计算机数据控件数据控件Data员工基本信息维护员工基本信息维护1.1.增加记录增加记录AddNew方法在记录集中增加新记录。增加记录的步骤为:方法在记录集中增加新记录。增加记录的步骤为:(1)调用)调用AddNew方法方法(2)给字段赋值,格式为:)给字段赋值,格式为:Recordset.Fields(字段名字段名)=值值(3)调用)调用Update方法,确定所做的添加,将缓冲区内的数据写入数据库方法,确定所做的添加,将缓冲区内的数据写入数据库提示:提示: 如如果果使使用用AddNew方方法法增增加加了了新新记记录录,但但是是没没有有使使用用Update方方法法而而移移动动到到其其他他记记录录,或或者者关关闭闭了了记记录录集集,那那么么所所做做的的输输入入将将全全部部丢丢失失,而而没没有有任任何何警警告告。当当调调用用Update方方法法写写入入记记录录后后,记记录录指指针针自自动动从从新新记记录录返返回回到到添添加加记记录录前前的的位位置置上上,而而不不显显示示新新记记录录。为为此此,可可在在调调用用Update方方法法后后,使使用用MoveLast方法将记录指针再次移到新记录上。方法将记录指针再次移到新记录上。33计算机计算机数据控件数据控件Data员工基本信息维护员工基本信息维护2.2.删除记录删除记录要从记录集中删除记录的操作分为三步:要从记录集中删除记录的操作分为三步:(1)定位被删除的记录使之成为当前记录。)定位被删除的记录使之成为当前记录。(2)调用)调用Delete方法。方法。(3)移动记录指针。)移动记录指针。提示:提示: 在在使使用用Delete方方法法时时,当当前前记记录录立立即即删删除除,不不加加任任何何的的警警告告或或者者提提示示,可可在在Delete方方法法之之前前增增加加提提示示信信息息。删删除除一一条条记记录录后后,被被数数据据库库所所约约束束的的绑绑定定控控件件仍仍旧旧显显示示该该记记录录的的内内容容。因因此此,必必须须移移动动记记录录指指针针刷刷新新绑绑定定控控件件,一般采用移至下一条记录的处理方法,并检查一般采用移至下一条记录的处理方法,并检查EOF属性。属性。34计算机计算机数据控件数据控件Data员工基本信息维护员工基本信息维护3.3.修改记录修改记录(1)调用)调用Edit方法。方法。(2)给各字段赋值。)给各字段赋值。(3)调用)调用Update方法,确定所做的修改。方法,确定所做的修改。提示:提示: 如如 果果 要要 放放 弃弃 对对 数数 据据 的的 修修 改改 , 在在 使使 用用 Update方方 法法 之之 前前 , 可可 使使 用用UpdateControls方法或方法或Refresh方法。方法。35计算机计算机ADO控件与查询控件与查询员工工资信息维护员工工资信息维护. .添加控件添加控件要使用要使用ADO控件,必须先将其添加到工具箱中,具体方法如下:控件,必须先将其添加到工具箱中,具体方法如下:(1)单击)单击“工程工程”“部件部件”,打开,打开“部件部件”对话框,选择对话框,选择Microsoft ADO Data Control 6.0(OLEDB)。(2)单击)单击“确定确定”按钮,即可将按钮,即可将ADO控件控件 添加到工具箱中。添加到工具箱中。实例演示实例演示-实例实例8.2总总36计算机计算机ADO控件与查询控件与查询员工工资信息维护员工工资信息维护2.2.使用控件使用控件要使要使ADO控件访问数据库,其实现过程如下:控件访问数据库,其实现过程如下:(1)在窗体上添加)在窗体上添加ADO数据控件。数据控件。(2)设置)设置ADO控件的控件的“ConnectionString”属性,建立与数据库提供者的连接。属性,建立与数据库提供者的连接。(3)设置)设置ADO控件的控件的“RecordSource”属性,定义记录源和从记录源中产生记属性,定义记录源和从记录源中产生记录集。录集。(4)设置数据绑定控件的)设置数据绑定控件的“DataSource”和和“DataField”属性,建立记录集属性,建立记录集与数据绑定控件的联系,并在窗体上显示数据供用户访问。与数据绑定控件的联系,并在窗体上显示数据供用户访问。37计算机计算机ADO控件与查询控件与查询员工工资信息维护员工工资信息维护3.ADO3.ADO控件属性控件属性右击添加的右击添加的ADO控件,选择控件,选择“ADODC属性属性”,打开,打开“属性页属性页”对话框:对话框:(1)ConnectionString属性属性在对话框中,单击“生成”,打开“数据连接属性”对话框,选择“选择“Microsoft Jet 4.0 OLE DB Provider”;图8.26 “属性页”对话框图8.27 “数据链接属性”对话框38计算机计算机ADO控件与查询控件与查询员工工资信息维护员工工资信息维护3.ADO3.ADO控件属性控件属性(1)ConnectionString属性属性单击“下一步”,选择或输入数据库名称,此处只输入“wages.mdb”,单击“测试连接”,看是否连接成功。39计算机计算机ADO控件与查询控件与查询员工工资信息维护员工工资信息维护3.ADO3.ADO控件属性控件属性(2)RecordSource属性属性该属性用来设置与ADO连接的数据库中的记录集。在ADO“属性页”对话框中,单击“记录源”选项卡,其中有4种命令类型,可从中选择一种,如图8.30所示。(1)8-adCmdUnknown:未知,为系统默认值。(2)1-adCmdText:文本命令类型,使用SQL命令。(3)2-adCmdTable:数据表。如果数据源记录集是单一表,可使用此方式。(4)3-adCmdstoredProc:存储过程。图8.30 “记录源”选项卡40计算机计算机ADO控件与查询控件与查询员工工资信息维护员工工资信息维护3.ADO3.ADO控件属性控件属性(3)Fields属性属性Recordset的Fields属性是一个集合,每个Field(字段)对象对应于Recordset中的一列,使用Field对象的Value属性设置或返回当前记录的数据。如:Adodc1.Recordset.Fields(编号)= 110001 即是对数据集中的“编号”字段进行赋值。如果“编号”字段是数据集中的第一个字段,还可使用如下方式使用:Adodc1.Recordset.Fields(0)= 11000141计算机计算机ADO控件与查询控件与查询员工工资信息维护员工工资信息维护3.ADO3.ADO控件属性控件属性(3)Fields属性属性Recordset的Fields属性是一个集合,每个Field(字段)对象对应于Recordset中的一列,使用Field对象的Value属性设置或返回当前记录的数据。如:Adodc1.Recordset.Fields(编号)= 110001 即是对数据集中的“编号”字段进行赋值。如果“编号”字段是数据集中的第一个字段,还可使用如下方式使用:Adodc1.Recordset.Fields(0)= 11000142计算机计算机ADO控件与查询控件与查询员工工资信息维护员工工资信息维护4.4. 数据绑定控件绑定数据绑定控件绑定DataGridDataGrid控件控件(1)添加)添加DataGrid控件控件单击单击“工程工程”“部件部件”,在打开的对话框中选择,在打开的对话框中选择“Microsoft DataGrid Control 6.0(OLEDB)”,将,将DataGrid控件添加到工具箱,在将其绘制到窗控件添加到工具箱,在将其绘制到窗体上。体上。(2)在窗体上放置)在窗体上放置ADO控件并设置属性控件并设置属性(3)设置)设置ADO控件的记录源控件的记录源(4)设置)设置DataGrid控件的控件的DataSource属性,将属性,将DataGrid绑定到绑定到Ado(5)右击)右击DataGrid控件,从弹出的快捷菜单中选择控件,从弹出的快捷菜单中选择“检索字段检索字段”,则,则Ado记录记录集中的字段就显示在集中的字段就显示在DataGrid控件上。控件上。(6)右击)右击DataGrid控件,从弹出的快捷菜单中选择控件,从弹出的快捷菜单中选择“属性属性”,打开,打开“属性页属性页”对话框,可在此设置对话框,可在此设置DataGrid控件的外观,如字体,背景,前景,是否有滚动控件的外观,如字体,背景,前景,是否有滚动条,是否允许添加、删除、修改等。条,是否允许添加、删除、修改等。43计算机计算机ADO控件与查询控件与查询员工工资信息维护员工工资信息维护4.4. 数据绑定控件绑定数据绑定控件绑定DataGridDataGrid控件控件(7)右击)右击DataGrid控件,从弹出的快捷菜单中选择控件,从弹出的快捷菜单中选择“编辑编辑”,进入数据网格字,进入数据网格字段布局的编辑状态,此时,可将鼠标放在两个字段的边线上,鼠标指针变成双段布局的编辑状态,此时,可将鼠标放在两个字段的边线上,鼠标指针变成双向箭头时,可调整列宽。右击需要删除的字段名,从弹出的快捷菜单中选择向箭头时,可调整列宽。右击需要删除的字段名,从弹出的快捷菜单中选择“删除删除”,就可以从,就可以从DataGrid控件中删除该字段。控件中删除该字段。图8.34 DataGrid控件的属性页44计算机计算机ADO控件与查询控件与查询员工工资信息维护员工工资信息维护5.5. 实现记录的添加、删除和修改实现记录的添加、删除和修改(1)ADO控件的方法控件的方法。方法功能AddNew用来在ADO控件的记录集中添加一条新记录。添加新记录之后,可以给记录的各个字段赋值,并调用UpdateBatch方法保存修改,或用CancleUpdate方法取消保存。Refresh在数据控件的数据源运行时如果被改变,通过该方法进行刷新。Move用来移动记录指针,其格式和功能同Data控件。Find在记录集中查找满足条件的记录,若找到则记录指针指向该记录,否则指针指向数据集的末尾。UpdateBatch将所有新添加的记录集或修改以后的内容写入保存。Delete用来删除当前记录。45计算机计算机ADO控件与查询控件与查询员工工资信息维护员工工资信息维护5.5. 实现记录的添加、删除和修改实现记录的添加、删除和修改(2)DataGrid控件属性控件属性。属性说明AllowAddNew为True时允许添加新行。AllowUpdate为True时允许更新数据。AllowDelete为True时允许删除数据。Columns获取表示 DataGrid 控件的各列的对象的集合。46计算机计算机ADO控件与查询控件与查询 信息查询信息查询1. Select1. Select语句格式语句格式 常见的常见的SelectSelect语句包括六部分,其语法格式为:语句包括六部分,其语法格式为: Select Select 字段名列表字段名列表 From From 表名表名WhereWhere条件条件GroupGroupBy By 分组字段分组字段 Having Having 分组条件分组条件 Order By Order By 字段字段Asc|DescAsc|Desc实例演示实例演示-信息查询信息查询47计算机计算机ADO控件与查询控件与查询 信息查询信息查询表表8.6 8.6 合计函数合计函数合计合计函数函数描述描述AVG用来获得指定字段的平均值COUNT用来返回选定记录的个数SUM用来返回特定字段值的总和MAX用来返回指定字段中的最大值MIN用来返回指定字段中的最小值实例演示实例演示-信息统计信息统计48计算机计算机ADO控件与查询控件与查询 信息查询信息查询1.1.单表查询单表查询2.2.多表查询多表查询3.3.统计查询统计查询49计算机计算机报表制作报表制作 实例演示实例演示实例演示实例演示-报表打印报表打印50计算机计算机报表制作报表制作 制作过程制作过程1.1. 建立数据环境建立数据环境(1)单击“工程”“添加Data Environment”,打开如图8.43所示的“Data Environment”窗口;(2)右击“Connection1”,从弹出的快捷菜单中选择“属性”,打开数据链接属性对话框,与图8.27一样,按照向导依次选择提供程序、连接数据库的路径和名称,并测试是否连接成功。此例中选择“Microsoft Jet 4.0 OLE DB Provider”,数据库选择“wage.mdb”。图8.43 “Data Environment”窗口51计算机计算机报表制作报表制作 制作过程制作过程1.1. 建立数据环境建立数据环境(3)右击“Connection1”,从弹出的快捷菜单中选择“添加命令”,此时在“Connection1”下添加一个“Command1”,右击,选择“属性”,打开“Command1属性”对话框,如图8.44所示。图8.44 “Command1属性”对话框52计算机计算机报表制作报表制作 制作过程制作过程1.1. 建立数据环境建立数据环境(4)设置数据源,可选择单一的表,也可输入SQL语句。此例中选择“SQL语句”,可直接输入,也可单击“SQL生成器”,打开如图8.45所示的窗口,从中选择表和要显示的字段,则自动生成SQL语句。关闭保存Command1。53计算机计算机报表制作报表制作 制作过程制作过程1.1. 建立数据环境建立数据环境(5)此时数据环境设置完成,如图8.46所示。可以根据需要按照(3)-(4)步继续添加命令。54计算机计算机报表制作报表制作 制作过程制作过程2.2. 设计报表设计报表(1)单击“工程”“添加Data Report”,将报表设计器添加到当前工程中,产生一个DataReport1对象,并在工具箱内产生一个“数据报表”标签,如图8.47所示。标签文本图形线条形状函数图8.47 报表设计器与专用控件55计算机计算机报表制作报表制作 制作过程制作过程2.2. 设计报表设计报表(2)设计报表标头区和页标头区。此例中只设计了页标头区。一般将表格的表头设计在页标头区中。(3)设计细节区。将DataEnvironment1中Command1对象内的字段拖动到表设计器的细节区。当一个字段被拖动到数据报表设计器时,默认的方式会产生一个标签作为标题,一个文本控件作为显示该字段的数据。如果不想要标题可以将标签控件删除。也可以事先在数据环境设计器中,单击工具栏上的“选项”按钮 ,打开如图8.48所示的“选项”对话框,在“字段映射”选项卡内取消“拖放字段标题”的复选框的选取。取消拖放字段标题图8.48 “选项”对话框56计算机计算机报表制作报表制作 制作过程制作过程2.2. 设计报表设计报表(4)设计页注脚区和报表注脚区,此例只设计报表注脚区。先拖动一个标签到报表注脚区,设置Caption属性为“平均工资:”,再拖动一个函数到“平均工资:”的右侧,设置其属性:DataField=“实发工资”,FunctionType=“1-rptFuncAve”,以求实发工资的平均值。(5)设置DataReport1的DataSource属性和DataMember属性,此例为“DataEnvironment1”和“Command1”。57计算机计算机报表制作报表制作 制作过程制作过程2.2. 设计报表设计报表(6)要显示报表,可使用DataReport1对象的Show方法。提示:若出现报表宽度大于纸张宽度的错误,应调整打印机的页面设置和上下左右边距。(7)报表打印可直接使用预览窗口左上角的打印按钮来控制,也可以使用DataReport1对象的PrintReport方法。(8)使用预览窗口工具栏上的“导出”按钮可将报表内容输出成文本文件或HTML文件,也可以用DataReport1对象的ExportReport方法将报表内容导出。58计算机计算机教材教材P303的的8.8实战训练实战训练实战训练实战训练59计算机科学系计算机科学系60
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号