第十章数据库应用技术.ppt
《第十章数据库应用技术.ppt》由会员分享,可在线阅读,更多相关《第十章数据库应用技术.ppt(60页珍藏版)》请在三一文库上搜索。
1、1,第10章数据库应用基础,10.1 数据库概述 10.2 VB 数据库访问 10.3 记录集对象 10.4 综合应用,10.1 数据库概述,1. 数据库:是指一组排列成易于处理或读取的相关信息,它是由一个或多个表对象组成的集合。这有些类似于Excel的工作簿和工作表。 根据数据模型,即实现数据结构化所采用的联系方式,数据库可以分为层次数据库、网状数据库和关系数据库。,10.1.1关系型数据库模型,关系型数据库模型将数据用表的集合来表示。 通过建立简单表之间的关系来定义结构, 1. 记录(行):每张二维表均由若干行和列构成,其中每一行称为一条记录 2.字段(列):二维表中的每一列称为一个字段,
2、每一列均有一个名字,称为字段名,各字段名互不相同 3主键:关系数据库中的某个字段或某些字段的组合定义为主键,每条记录的主键值都是唯一的,这就保证了可以通过主键唯一标识一条记录。,10.1.2 使用SQL查询数据库,结构化查询语言(Structure Query Language,SQL)是操作关系数据库的标准语言 通过SQL命令,可以从数据库的多个表中获取数据,也可对数据进行更新操作 用户提出一个查询,数据库返回所有与该查询匹配的记录。SQL的主要语句:,SELECT语句,SELECT语句的基本语法形式 SELECT 字段表 FROM 表名 WHERE 查询条件 GROUP BY 分组 字段
3、HAVING 分组条件 ORDER BY 字段ASC|DESC SELECT 目标表达式列表 FROM 表名 WHERE 查询条件 GROUP BY 分组字段 HAVING 分组条件 ORDER BY 排序关键字段 ASC|DESC 它包含4部分,其中SELECT和FROM子句是必须的,通过使用SELECT语句返回一个记录集。 例 在学生基本情况表中查询物理系的学生情况: SELECT * FROM 基本情况 WHERE 专业= “物理“,SELECT语句-输出表达式,目标表达式为查询结果要显示的字段清单(字段间用逗号分开)。 数据的显示顺序由字段清单的顺序决定。 可用星号*代表所有字段; 可
4、用AS短语指定字段别名; 可通过构造表达式对原始数据进行复杂的运算处理,产生查询结果。 例如,根据出生年月计算每个学生的年龄 SELECT 姓名, (Year(Date()-Year(出生年月) AS 年龄 FROM 基本情况,SELECT语句-查询条件,WHERE子句用于限制记录的选择 例如,查询1985-01-01到1986-12-31之间出生的学生: SELECT * FROM 基本情况 WHERE 出生年月 BETWEEN #1985-01-01# AND #1986-12-31# 要枚举出若干项进行查询,使用运算符IN 例如:查询物理系和数学系的学生数据: SELECT * FROM
5、 基本情况 WHERE 专业 IN (“物理“, “数学“) 等价于:SELECT * FROM 基本情况 WHERE专业= “物理“ OR 专业 = “数学“ 复合条件:如查询数学和英语成绩均不及格的学生信息 SELECT * FROM score WHERE 数学60 AND 英语60,SELECT语句-合计函数,合计函数用于对记录集进行统计,例如,统计物理系学生的人数: SELECT COUNT(*) AS 学生人数 FROM 基本情况 WHERE专业= “物理” COUNT(*) 在统计时包含值为空值的记录 COUNT(表达式) 统计时忽略表达式值为空值的记录,SELECT语句-分组,
6、GROUP BY子句将指定字段列表中有相同值的记录合并成一条记录。 例如,计算每个学生各门课程平均分: SELECT 学号, AVG(成绩) AS 平均分FROM 成绩表 GROUP BY 学号 要对分组后的数据进行过滤,可在GROUP BY子句后结合HAVING子句在分组中选择。 例如,查询平均分在80分以上的学生: SELECT 学号, AVG(成绩) AS 平均分FROM 成绩表 GROUP BY 学号HAVING AVG(成绩)=80,SELECT语句-排序,ORDER BY子句决定了查询结果的排列顺序 在ORDER BY子句中,可以指定一个或多个字段作为排序关键字,ASC选项代表升序
7、,DESC代表降序。 例如查询学生成绩表中的所有数学成绩及格的学生信息,并将查询结果按数学成绩降序排列 SELECT * FROM score WHERE 数学=60 ORDER BY 数学 DESC,SELECT语句图解,SELECT语句-多表连接,若查询的数据分布在多个表中,则必须建立连接查询: SELECT目标表达式列表 FROM 表1, 表2 WHERE 表1.字段 = 表2.字段 例如,学生成绩表中只有学号,如何在查看学生成绩的同时能够直观地看到学生姓名?这就要在两表之间建立连接。SQL语句如下: SELECT基本情况.姓名, 成绩表.* FROM 基本情况, 成绩表 WHERE成绩
8、表.学号=基本情况.学号,10.2 VB数据库访问,10.2.1 ADO数据控件使用基础 ADO(ActiveX Data Object)数据访问接口 数据库应用程序引例 例10.1 设计一个窗体,用DataGrid控件显 Student.mdb数据库中“基本情况”表的内容。,ADO数据控件使用,VB采用ADO(ActiveX Data Objects)数据访问技术,编写本程序,需要完成以下工作: 在窗体上添加ADO数据控件 使用ADO连接对象建立与数据提供者之间的连接 使用ADO命令对象操作数据源,从数据源中产生记录集并存放在内存中 建立记录集与数据绑定控件的关联,在窗体上显示数据 Data
9、Grid控件是一种类似于电子表格的数据绑定ActiveX控件(Microsoft DataGrid Control 6.0),需要配合ADO控件一起使用。它用若干行、列来表示Recordset对象的记录和字段。,数据源连接设置操作,右单击ADO控件,选择快捷菜单ADODC属性命令,打开ADO控件属性页窗,选择提供程序,选择提供程序,指定访问的数据库,指定要访问的数据库文件,连接对象重要属性,1.连接对象最重要的属性是ConnectionString:它是一个字符串,包含了用于与数据源建立连接的相关信息 典型的 ConnectionString 属性值如下: Provider = Microso
10、ft.Jet. 4.0 OLE DB Provider; Data Source = Student.mdb Provide:指定连接提供程序的名称; Data Source:用于指定要连接的数据源文件。,VB数据库访问过程,2. CommandType:指定获取记录源的命令类型,3.RecordSource属性 RecordSource确定具体可访问的数据来源, 这些数据构成记录集对象Recordset。 该属性值可以是数据库中的单个表名,也可以是使用SQL查询语言的一个查询字符串。 例:要指定记录集对象为Student.mdb数据库中的“基本情况”表,则设置RecordSource=“基本
11、情况” 若要用所有物理专业的学生数据构成记录集对象,则设置 RecordSource=“Select*From 基本情况 Where 专业=物理”,3. ADO数据控件的其他属性、事件和方法 (1) Recordset(记录集)对象: 记录集”对象描述来自数据表或命令执行结果的记录 集合.记录集对象中的每个字段值用 Recordset.Fields(“字段名”)获得 (2)BOFAction和EOFAction属性 BOF :当前记录位置位于 Recordset 对象的第一个记录之前 EOF :当前记录位置位于 Recordset 对象的最后一个记录之后 (3). Refresh方法: 建立或
12、重新显示与Data控件相连接的数据库记录集。 当在运行状态改变ADO数据控件的数据源连接属性后 必须使用Refresh方法激活这些变化 例:记录集由“基本情况”改为“成绩表” Adodc1.RecordSource=“成绩表” Adodc1. Refresh,(4) WillMove和MoveComplete事件。 当用某种方法改变记录集的指针使其从一条记录移到另一条记录,产生WillMove事件 MoveComplete事件发生在一条记录成为当前记录后,它出现在WillMove事件后,数据访问过程,应用程序通过连接对象与数据源建立连接(不同类型的数据库使用各自的连接提供程序) 命令对象发出S
13、QL命令从数据源中获取数据 数据集对象用来保存所查询到的数据记录 应用程序对记录集进行操作 记录集表示内存中来自基本表或命令执行结果的集合,也由记录(行)和字段(列)构成,可以把它当作一个数据表来进行操作,10.2.2 数据绑定,数据绑定是一个过程,即在运行时自动为与记录集中的元素关联的控件设置属性。以便通过控件显示数据集中的数据。,数据绑定,Windows 窗体有简单数据绑定和复杂数据绑定 简单数据绑定 简单数据绑定:将控件绑定到单个数据字段。每个控件仅显示数据集中的一个字段值。 最常用的简单数据绑定是将数据绑定到文本框和标签 在设计或运行时设置控件属性建立绑定: DataSource:指定
14、ADO数据控件 DataField:设置记录集中有效的字段,简单数据绑定,例10.2 设计一个窗体,用以浏览Student.mdb数据库中基本情况表的内容 界面设计 ADO数据控件 3个文本框 2个组合框 5个标签控件,建立连接和产生记录集 1.选中ADO数据控件-单击右键-ADODC属性-打开属性页-使用连接字符串-选Microsoft.Jet. 4.0 OLE DB Provider 2.单击下一步-选择数据库文件-测试连接 3.在属性页中单击“记录源”-命令类型选2- 表名称选择,设置绑定属性 1.将文本框、组合框的DataSource属性设置为Adodc1 2.数据显示格式通过Data
15、Format属性改变 3.将文本框、组合框的DataField选择 4.若将ADO控件的EofAction属性设置为2,则应用程序具有添加新记录的功能,复杂数据绑定,复杂数据绑定允许将多个数据字段绑定到一个控件,同时显示记录源中的多行或多列。 支持复杂数据绑定的常用控件: DataGrid 数据网格 MSHFlexGrid 数据网格 DataList 数据列表框 DataCombo 数据组合框,复杂数据绑定,例10.3复杂数据绑定的操作过程 界面设计:ADO数据控件、 DataGrid、2个命令按钮 建立连接和产生记录集: Adodc1控件记录源选“基本情况”或“成绩表”为默认值 DataGr
16、id DataSource属性设置为Adodc1 数据绑定 本例DataGrid控件要绑定不同的表,故需要通过代码设置控件的DataSource 属性。,程序代码 Private Sub Command1_Click() Adodc1.RecordSource = “基本情况“ Adodc1.Refresh End Sub Private Sub Command2_Click() Adodc1.RecordSource = “成绩表“ Adodc1.Refresh End Sub,例10.4使用SQL语句选择数据表部分数据构成记录集。在网格上绑定部分字段,需要对数据网格布局进行编辑 Adodc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第十 数据库 应用技术
链接地址:https://www.31doc.com/p-2262369.html