收藏 分享(赏)

VB60教程课件_第14章__数据库编程基础.ppt

上传人:kpmy5893 文档编号:7069992 上传时间:2019-05-05 格式:PPT 页数:31 大小:293KB
下载 相关 举报
VB60教程课件_第14章__数据库编程基础.ppt_第1页
第1页 / 共31页
VB60教程课件_第14章__数据库编程基础.ppt_第2页
第2页 / 共31页
VB60教程课件_第14章__数据库编程基础.ppt_第3页
第3页 / 共31页
VB60教程课件_第14章__数据库编程基础.ppt_第4页
第4页 / 共31页
VB60教程课件_第14章__数据库编程基础.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、第十四章 VB数据库编程基础,14.1 数据库基础,数据库技术的产生与发展,14.1.2 数据库基本概念,根据数据模型,即实现数据结构化所采用的联系方式,数据库可以分为层次数据库、网状数据库和关系数据库。,关系数据库的有关概念,1 关系(表)在关系数据库中,数据以关系的形式出现,可以把关系理解成一张二维表(Table)。 2 记录(行)每张二维表均由若干行和列构成,其中每一行称为一条记录(Record) 3 字段(列)二维表中的每一列称为一个字段(Field),每一列均有一个名字,称为字段名,各字段名互不相同。 4 主键关系数据库中的某个字段或某些字段的组合定义为主键(Primary Key)

2、。每条记录的主键值都是唯一的,这就保证了可以通过主键唯一标识一条记录。,14.1.2 数据库基本概念,5索引为了提高数据库的访问效率,表中的记录应该按照一定顺序排列,通常建立一个较小的表索引表,该表中只含有索引字段和记录号。通过索引表可以快速确定要访问记录的位置。,14.1.3 Visual Basic的数据库应用,Visual Basic是一个功能强大的数据库开发平台,所以常常选择VB作为开发数据库前台应用程序的工具。,14.1.2 数据库基本概念,14.2 数据库的设计与管理,14.2.1 建立数据库,VB提供了两种方法建立数据库,分别是:可视化数据管理器数据访问对象(DAO),1、可视化

3、数据管理器使用可视化数据管理器建立的数据库是Access数据库(类型名为.mdb),可以被Access直接打开和操作。在VB环境下,执行“外接程序”菜单中的“可视化数据管理器”命令,即可打开如图13-3所示的“可视化数据管理器”窗口。,2、 建立数据表,以建立一个如下结构的学生表为例:,14.2 数据库的设计与管理,图13-4 输入数据库文件名,(2)在对话框中选择数据库文件保存的位置,并输入文件名后(保存类型只能是MDB)单击保存按钮,将打开如图13-5所示的建立数据表窗口。,(1)在“可视化数据管理器”窗口中执行“文件”菜单中的“新建”命令(假设选择Microsoft Access,版本7

4、.0 MDB)后,弹出如图13-4所示的对话框。,14.2 数据库的设计与管理,图13-5 建立数据表窗口,(3)右击数据库窗口,在弹出的菜单中选择“新建表”命令,打开如图13-6所示的“表结构”对话框。,14.2 数据库的设计与管理,(4)在“表结构”对话框中输入表名后,单击“添加字段”按钮,在弹出的如图13-7所示的“添加字段”对话框中输入字段名,选择字段类型(Text类型字段还需输入字段大小)。重复此过程直至添加完所有字段后,单击“关闭”按钮。,图13-6 “表结构”对话框,14.2 数据库的设计与管理,图13-7 “添加字段”对话框,3 建立索引单击“表结构”对话框的“添加索引”按钮,

5、在弹出的对话框中(如图13-8所示)输入索引名称,选择索引字段后,单击“确定”按钮即完成了索引的建立过程。,14.2 数据库的设计与管理,图13-8 “添加索引”对话框 图13-9 “数据库”窗口,14.2 数据库的设计与管理,14.2.2 数据库的基本操作,输入数据 编辑数据 删除数据 排序数据过滤数据移动数据 查找数据,右键单击表名,使用快捷菜单的打开,可打开如图13-10所示的输入数据窗口 。,14.2 数据库的设计与管理,14.3 数据控件与数据库网格控件,14.3.1 数据控件,数据控件(Data)提供了一种方便地访问数据库中数据的方法,使用数据控件无须编写代码就可以对VB所支持的各

6、种类型的数据库执行大部分数据访问操作。,数据控件本身不能显示和直接修改记录,只能在与数据控件相关联的数据绑定控件中显示各个记录。,可以作数据绑定控件的标准控件有以下8种:文本框、标签、图片框、图像框、检查框、列表框、组合框、OLE控件。,要使绑定控件能被数据库约束,必需在设计或运行时对上述控件的两个属性进行设置: DataSource属性 该属性通过指定个有效的数据控件连接到一个数据库上。 DataField属性 该属性设置数据库有效的字段与绑定控件建立联系。,数据控件与数据绑定控件,绑定控件、数据控件和数据库三者的关系如图下示:,当上述控件与数据控件绑定后,Visual Basic将当前记录

7、的字段值赋给控件。数据控件在装入数据库时,它把记录集的第一个记录作为当前记录。当数据控件的EofAction属性值设置为2时,当记录指针移过记录集结束位,数据控件会自动向记录集加入新的空记录。,2、 数据控件属性1. Connect属性指定数据库类型VB可识别的数据库有:MDB文件、DBF文件、DB文件、DF文件和ODBC数据库2. DatabaseName属性指定具体使用的数据库名称。3. RecordType属性确定记录集合类型。4. RecordSource属性确定数据库中具体访问的数据表。 5. EofAction和BofAction属性决定数据控件要采取的操作。6. RedaOnly

8、属性用于控制能否对记录集进行写操作。要使关联控件能被数据库约束,必须对控件的两个属性进行设置:7.DataSource属性通过指定一个有效的数据控件连接一个数据库。8.DataField属性设置数据库有效的字段。,14.3 数据控件与数据库网格控件,3方法 (1)Refresh方法可以在数据控件上使用Refresh方法来打开或重新打开数据库(如果 DatabaseName、ReadOnly或Connect属性的设置值发生改变)。 (2)UpdateControls方法此方法用于从数据控件的Recordset对象中读取当前记录,并将数据显示在相关约束控件上。 (3)UpdateRecord方法当

9、约束控件的内容改变时,如果不移动记录指针,则数据库中的值不会改变,可通过调用UpdateRecord方法来确认对记录的修改,将约束控件中的数据强制写入数据库中。,14.3 数据控件与数据库网格控件,4 事件 (1)Reposition事件当数据控件中移动记录指针改变当前记录时触发该事件。 (2)Validate事件如果移动数据控件中记录指针,并且约束控件中的内容已被修改,此时数据库当前记录的内容将被更新,同时触发该事件。,14.3 数据控件与数据库网格控件,5记录集Recordset对象,一个Recordset对象代表一个数据库表里的记录,或运行一次查询所得的记录的结果。在“Data”控件中可

10、用3类Recordset对象,即Table(表类型)、Dynaset(动态类型)和Snapshot(快照类型),默认为Dynaset类型。 (1)Table: 表记录集类型,一个记录集(单个表) (2)Dynaset: 动态集类型,一个动态记录集(多个表),默认值。 (3)Snapshot:快照类型,一个记录集静态副本(不可改),14.3 数据控件与数据库网格控件,在实际操作中使用什么记录集关键取决于要完成的任务。表类型的记录集已建立了索引,适合快速定位与排序,但内存开销太大。动态集类型的记录集则适合更新数据,但其搜索速度不及表类型。快照类型的记录集内存开销最小,适合显示只读数据。,使用Rec

11、ordset对象的属性与方法的一般格式为: 数据控件名 . Recordset . 属性/方法,14.3 数据控件与数据库网格控件,6 、使用Recordset对象连接与访问数据库的记录 (1) Move方法使用Move方法遍历整个记录集中的记录。Move方法是:MoveFirst或MoveLast方法移至第一个或最后一个记录。MoveNext或MovePrevious方法移至下一个或上一个记录。Move n 方法向前或向后移n个记录,n为指定的数值。,14.3 数据控件与数据库网格控件,(2) Find方法可在指定的Dynaset或Snapshot类型的Recordset对象中查找与指定条件

12、相符的一个记录,并使之成为当前记录。4种Find方法是:FindFirst或 FindLast方法. 找到满足条件的第一个或最后一个记录。FindNext或FindPrevious方法找到满足条件的下一个或上一个记录。4种Find方法的语法格式相同:数据集合.Find方法 条件,14.3 数据控件与数据库网格控件,(3) Seek方法 使用Seek方法可在Table表中查找与指定索引规则相符的第一个记录,并使之成为当前记录。其语法格式为:数据表对象.Seek comparison , key1,key2 (4) Refresh方法如果在设计状态没有为打开数据库控件的有关属性全部赋值,或当Rec

13、ordSource在运行时被改变后,必须使用激活数据控件的Refresh方法激活这些变化。例如:Data1.DatabaseName = “C:VBBiblio.mdb“Data1.RecordSource = “Titles“Data1.Refresh (5) Close方法关闭指定的数据库、记录集并释放分配给它的资源其语法格式为: 对象.Close,14.3 数据控件与数据库网格控件,(6)AddNew方法 向数据库中添加记录的步骤如下: 调用AddNew方法,打开一个空白记录; 通过相关约束控件给各字段赋值; 单击数据控件上的箭头按钮,移动记录指针,或调用UpdateRecord方法确定

14、所做添加。 (7)Delete方法 删除数据库中记录的步骤如下: 将要删除的记录定位为当前记录; 调用Delete方法; 移动记录指针,确定所做删除操作。,14.3 数据控件与数据库网格控件,(8)Edit方法 编辑数据库中记录的步骤如下: 将要修改的记录定位为当前记录;调用Edit方法; 通过相关约束控件修改各字段值;移动记录指针,确定所做编辑操作。,14.3 数据控件与数据库网格控件,14.4.1 SQL概述 结构化查询语言SQL是操作数据库的工业标准语言。在SQL语言中,指定要做什么而不是怎么做。只要告诉SQL需要数据库做什么,可以确切指定想要检索的记录以及按什么顺序检索。可以在设计或运

15、行时对数据控件使用SQL语句。用户提出一个查询,数据库返回所有与该查询匹配的记录。,14.4.2 SQL的构成,14.4 SQL简介,常用的SQL命令表:,常用SQL命令中的子句,14.4.3 SQL在VB中的应用SQL中最经常使用的是从数据库中的获取数据。从数据库中的获取数据称为查询数据库,查询数据库通过使用SELECT语句。常见的Select语句包含六部分,其语法形式为:SELECT 字段表 FROM 表名 WHERE 查询条件 GROUP BY 分组 字段 HAVING 分组条件 ORDER BY 字段ASC|DESC1. 使用SELECT语句查询无论是数据控件还是数据对象都可使用SEL

16、ECT语句查询数据。例如 用SQL语句显示数据库Biblio.mdb中出版日期为1996年全部记录。Data1.RecordSource = “SELECT * FROM Titles WHERE Year Published =1996“用Data1.Refresh方法激活这些变化。,选择表中所有字段,指定表Title,构成查询条件,SELECT语句可以看作记录集的定义语句,它从一个或多个表中获取指定字段,生成一个较小的记录集。下面通过一组对前面建立的学生成绩数据库的查询操作来学习SELECT语句的基本用法。 (1)选取表中部分列。例如查询学生成绩表中的英语和计算机成绩: SELECT 英语

17、,计算机 FROM score (2)选取表中所有列。例如查询学生成绩表中的所有信息: SELECT * FROM score (3)WHERE子句。例如查询数学成绩不及格的学生信息: SELECT * FROM score WHERE 数学60 (4)复合条件。例如查询数学和英语成绩均不及格的学生信息: SELECT * FROM score WHERE 数学60 AND 英语60,14.4 SQL简介,(5)ORDER BY子句。例如查询学生成绩表中的所有数学成绩及格的学生信息,并将查询结果按数学成绩降序排列(ASC表示升序,DESC表示降序): SELECT * FROM score W

18、HERE 数学=60 ORDER BY 数学 DESC(6)统计信息。例如查询数学成绩不及格的人数、数学平均分、最高分: SELECT COUNT(*)AS 人数 FROM score WHERE 数学60 SELECT AVG(数学)AS 平均分,MAX(数学)AS 最高分 FROM score(7) GROUP BY子句。例如查询男生与女生的数学平均分: SELECT 性别,AVG(数学)AS 平均分FROM score GROUP BY 性别,14.4 SQL简介,(8) HAVING子句。例如查询数学成绩不及格的人数大于10人的班级和相应人数: SELECT 班级,COUNT(*)AS 人数 FROM score WHERE 数学10(9)多表查询。例如查询学生的学号、姓名和籍贯(假设有一个student表,其中包含了学生的学号、籍贯等信息): SELECT score . 学号,score . 姓名,score . 数学,student . 籍贯 FROM score,student WHERE score . 学号= student . 学号 如前所述,数据控件的RecordSource属性除了可以设置成表名外,还可以设置为一条SQL语句,格式如下:数据控件名 . RecordSource=“SQL语句”,14.4 SQL简介,

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

当前位置:首页 > 实用文档 > 简明教程

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报