数据库应用程序开发参考PPT

上传人:W**** 文档编号:150805060 上传时间:2020-11-09 格式:PPT 页数:54 大小:551KB
返回 下载 相关 举报
数据库应用程序开发参考PPT_第1页
第1页 / 共54页
数据库应用程序开发参考PPT_第2页
第2页 / 共54页
数据库应用程序开发参考PPT_第3页
第3页 / 共54页
数据库应用程序开发参考PPT_第4页
第4页 / 共54页
数据库应用程序开发参考PPT_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《数据库应用程序开发参考PPT》由会员分享,可在线阅读,更多相关《数据库应用程序开发参考PPT(54页珍藏版)》请在金锄头文库上搜索。

1、1,第11章 数据库应用程序开发,11.1 数据库概述 11.2 ADO数据控件 11.3 记录集对象Recordset 11.4 使用SQL查询数据库 11.5 报表制作 11.6 综合应用,2,11.1 数据库概述,数据库 以一定的组织方式将相关的数据组织在一起,存放在计算机外存储器,能为多个用户共享,与应用程序彼此独立的一组数据的集合。 Visual Basic支持多种类型的数据库,如Access数据库、FoxPro数据库、Microsoft Excel、SQL Server和Oracle等。,3,11.1.1关系型数据库模型,关系型数据库模型将数据用表的集合来表示。通过建立简单表之间的

2、关系来定义结构,而不是根据数据的物理存储方式建立数据中的关系。不管表在数据库文件中的物理存储方式如何,都可以把它看作一组行和列。,4,关系型数据库,表是有关信息的逻辑组,行被称为记录,列则被称为字段。,5,11.1.2 使用SQL查询数据库,结构化查询语言(Structure Query Language,SQL)是操作关系数据库的工业标准语言。通过SQL命令,可以从数据库的多个表中获取数据,也可对数据进行更新操作。SQL的主要语句:,6,SELECT语句,1SELECT语句的基本语法形式 SELECT 目标表达式列表 FROM 表名 WHERE 查询条件 GROUP BY 分组字段 HAVI

3、NG 分组条件 ORDER BY 排序关键字段 ASC|DESC 它包含4部分,其中SELECT和FROM子句是必须的,通过使用SELECT语句返回一个记录集。 例 在学生基本情况表中查询物理系的学生情况: SELECT * FROM 基本情况 WHERE专业= 物理,7,SELECT语句-输出表达式,目标表达式为查询结果要显示的字段清单(字段间用逗号分开)。数据的显示顺序由字段清单的顺序决定。 可用星号*代表所有字段; 可用AS短语指定字段别名; 可通过构造表达式对原始数据进行复杂的运算处理,产生查询结果。 例如,根据出生年月计算每个学生的年龄 SELECT 姓名, (Year(Date()

4、-Year(出生年月) AS 年龄 FROM 基本情况,8,SELECT语句-查询条件,WHERE子句用于限制记录的选择 例如,查询1985-01-01到1986-12-31之间出生的学生: SELECT * FROM 基本情况 WHERE 出生年月 BETWEEN #1985-01-01# AND #1986-12-31# 要枚举出若干项进行查询,使用运算符IN 例如,查询物理系和数学系的学生数据: SELECT * FROM 基本情况 WHERE 专业 IN (物理, 数学) 等价于: SELECT * FROM 基本情况 WHERE专业= 物理 OR 专业 = 数学,9,SELECT语句

5、-合计函数,合计函数用于对记录集进行统计,例如,统计物理系学生的人数: SELECT COUNT(*) AS 学生人数 FROM 基本情况 WHERE专业= “物理” COUNT(*) 在统计时包含值为空值的记录 COUNT(表达式) 统计时忽略表达式值为空值的记录,10,SELECT语句-分组,GROUP BY子句将指定字段列表中有相同值的记录合并成一条记录。 例如,计算每个学生各门课程平均分: SELECT 学号, AVG(成绩) AS 平均分FROM 成绩表 GROUP BY 学号 要对分组后的数据进行过滤,可在GROUP BY子句后结合HAVING子句在分组中选择。 例如,查询平均分在

6、80分以上的学生: SELECT 学号, AVG(成绩) AS 平均分FROM 成绩表 GROUP BY 学号HAVING AVG(成绩)=80,11,SELECT语句-排序,ORDER BY子句决定了查询结果的排列顺序 在ORDER BY子句中,可以指定一个或多个字段作为排序关键字,ASC选项代表升序,DESC代表降序。,12,SELECT语句-多表连接,若查询的数据分布在多个表中,则必须建立连接查询: SELECT目标表达式列表 FROM 表1, 表2 WHERE 表1.字段 = 表2.字段 例如,学生成绩表中只有学号,如何在查看学生成绩的同时能够直观地看到学生姓名?这就要在两表之间建立连

7、接。SQL语句如下: SELECT基本情况.姓名, 成绩表.* FROM 基本情况, 成绩表 WHERE成绩表.学号=基本情况.学号,13,VB.NET数据库访问,11.2.1 VB.NET数据库访问过程 数据库应用程序引例 例11.1 设计一个窗体,用DataGrid控件显示Student.mdb数据库中“基本情况”表的内容。,14,11.2.1 数据库访问过程,VB.NET采用ADO(ActiveX Data Objects)数据访问技术,编写本程序,需要完成以下工作: 界面设计 在窗体上添加DataGrid控件 创建对象连接 绑定数据到DataGrid控件使其能显示在窗体上。,程序代码,

8、15,VB.NET数据库访问过程,应用程序通过连接对象与服务器上的数据源建立连接(不同类型的数据库使用各自的连接提供程序),16,数据访问过程,命令对象发出SQL命令从数据源中获取数据 数据集对象用来保存所查询到的数据记录 数据适配器用于在数据源和数据集之间交换数据。 当数据传输到客户端后,ADO.NET断开与数据源的连接,应用程序离线工作 如果应用程序改变了数据集的内容,通过重新连接来提交变化。,17,数据集,数据集是一个容器,一个数据集可以包含多张数据表及数据表之间的关系,这些表可以来自多个数据库或电子表格之类的非数据库源。一旦数据在数据集内,则不管它的原始源是什么,都可以使用一致的对象模

9、型对它进行操作。 在 ADO.NET 中,数据传输的格式是 XML,是基于文本的标准格式,不使用二进制信息,它可以通过任何协议发送。ADO.NET 自动根据需要将数据转换为 XML 或从 XML 转换出数据,而用户不必知道 XML 。,18,11.2.2 使用数据控件访问数据库,ADO.NET数据控件对象有4套: 用于 SQL Server 7.0(以Sql为前导名) 用于Oracle数据库(以Orc为前导名) 用于ODBC 数据源(以Odbc为前导名) 用于OLE DB 接口的数据库(以OleDb为前导名),19,使用OleDb数据控件,OleDb数据控件对象是一个通用对象,可访问目前流行的

10、数据库系统,20,使用OleDb访问数据库,1启动数据适配器配置向导 将数据适配器对象OledbDataAdapter从工具箱拖放到窗体或组件上。 2创建连接,21,选择提供程序,选择提供程序,22,指定访问的数据库,指定要访问的数据库文件,23,配置命令对象,选择使用SQL 语句建立查询,24,命令对象重要属性,命令对象最重要的属性 Connection 指定连接对象 CommandType 使用命令的类型 CommandText 操作命令的内容,25,连接对象重要属性,连接对象最重要的属性是ConnectionString,它是一个字符串,包含了用于与数据源建立连接的相关信息。典型的 Co

11、nnectionString 属性值如下: Provider = Microsoft.Jet.OLEDB.4.0; Data Source = Student.mdb Provide,指定连接提供程序的名称; Data Source,用于指定要连接的数据源文件。,26,生成数据集,选择“数据|生成数据集”命令,打开“生成数据集”对话框。,1,2. 命名数据集,3,4,27,生成数据集,选择“数据|生成数据集”命令,打开“生成数据集”对话框。,1,2. 命名数据集,3,4,注意:这里的DataSet1是指一个数据集的定义,它是一个用xml格式表示的,文件名为Dataset1.xsd的数据集定义文

12、件,并不包含任何的数据库中的数据。而按此文件架构产生的DataSet11才是一个包含实际数据的数据集对象实例。,28,11.2.3 数据绑定,什么是数据绑定? 数据绑定是一个过程,即在运行时自动为与数据集中的元素关联的控件设置属性。以便通过控件显示数据集中的数据。,29,数据绑定,Windows 窗体有简单数据绑定和复杂数据绑定 简单数据绑定 简单数据绑定就是将控件绑定到单个数据字段。每个控件仅显示数据集中的一个字段值。最常用的简单数据绑定是将数据绑定到文本框和标签。要建立数据绑定,需要在设计或运行时对控件的DataBinding属性进行设置。,30,简单数据绑定,例11.2 数据绑定的操作过

13、程 界面设计,创建和配置数据集,设置绑定属性,程序代码,Private Sub Form1_Load() Handles MyBase.Load DataSet11.Clear() OleDbDataAdapter1.Fill(DataSet11, 基本情况) End Sub,31,简单数据绑定,使用BindingContext 对象浏览数据记录 Position 属性 数据集当前记录的位置序号 Count 属性 数据表中的记录条数 转跳到第一条记录 Me.BindingContext(DataSet11, 基本情况).Position = 0 转跳到上一条记录 Me.BindingConte

14、xt(DataSet11, 基本情况).Position -= 1 转跳到下一条记录 Me.BindingContext(DataSet11, 基本情况).Position += 1 最后一条记录的Position 属性值等于Count 属性值-1,32,复杂数据绑定,复杂数据绑定允许将多个数据元素绑定到一个控件,同时显示记录源中的多行或多列。支持复杂数据绑定的控件:数据网格DataGrid、组合框ComboBox和列表框ListBox等,33,复杂数据绑定,复杂数据绑定属 性设置,34,复杂数据绑定,例11.3复杂数据绑定的操作过程 界面设计,创建和配置数据集,数据绑定 本例DataGrid

15、控件要绑定不同的表,故需要通过代码设置控件的DataSource 属性。,程序代码,Private Sub Button1_Click() Handles Button1.Click DataGrid1.DataSource = DataSet11.Tables(基本情况) End Sub Private Sub Button2_Click() Handles Button2.Click DataGrid1.DataSource = DataSet11.Tables(成绩表) End Sub,35,11.2.3 使用代码访问数据库,创建数据对象的代码: Dim 数据对象 As New 对象类(

16、参数) 例11.4 用代码实现例11.2的功能 界面设计,导入ADO.NET名称空间 ImportsSystem.Data ImportsSystem.Data.OleDb,36,创建对象,创建OleDbConnection连接对象 创建连接Student.mdb的对象objConn,代码: Dim strConn As String = Provider = Microsoft. Jet.OLEDB.4.0; Data Source = Student.mdb Dim objConn As New OleDbConnection(strConn) objConn.Open() 创建创建OleDbDataAdapter对象 Dim strSql = Select * From 基本情况 Dim objAdap As New OleDbDataAdapter(strSql, objConn),37,创建对象,创建数据集对象 Dim objDSet As New DataSet 用数据集的“基本情况”表填充objDSet对象 objAdap.Fill(objD

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号