第2章 ADO.NET 2.0概述
数据访问技术—— ADO.NET 2.0 第1章: 数据库基础 第 2 章: ADO.NET 2.0概述 第 3 章: 数据源连接 第 4 章: 在连接环境中获取数据 第 5 章: 构建DataSet 第 6 章: 类型化DataSet 第 7 章: 在断开连接的环境中编辑和更新数据 第 8章: 数据的排序、搜索和过滤 第 9 章: 事务 第 10 章: ADO.NET和XML 2
目标 本章学习目标: 了解数据访问模型 了解主流数据访问模型,如ODBC、DAO、RDO、OLE DB和ADO 掌握ADO.NET 2.0对象模型、特征及新特性 3
第2章 ADO.NET 2.0概述 数据访问模型 数据访问模型的发展史 ADO.NET概述 ADO.NET特征 小结 习题
数据访问模型 2.1 数据访问模型 常见的数据访问模型有ODBC、RAO、RDO、OLE DB、ADO和将要讨论的ADO.NET 。
1 数据访问模型(续) 下面做一个简单的应用ADO.NET数据访问模型来显示数据的网页。 2.1 数据访问模型 启动Visual Studio 2005,在菜单栏上依次选择“文件”→“新建网站”命令。 1
数据访问模型(续) 2.1 数据访问模型 命名网站名称为“员工信息管理”,单击“确定”按钮。 2
数据访问模型(续) 2.1 数据访问模型 刚才创建的网站应会自动创建Default.aspx页面,如果该页面未在Visual Studio IDE中打开的话。 3 打开“服务器资源管理器”窗口。 4
数据访问模型(续) 2.1 数据访问模型 鼠标右键单击“数据连接”结点,选择“添加连接”命令 。 5
数据访问模型(续) 2.1 数据访问模型 出现“添加连接”对话框来提示用户选择合适的数据源。 6
7 8 数据访问模型(续) 单击两次“确定”按钮来接受数据源。 接着,展开“服务器资源管理器”中新添加的数据源,直至看到员工表。 2.1 数据访问模型 单击两次“确定”按钮来接受数据源。 7 接着,展开“服务器资源管理器”中新添加的数据源,直至看到员工表。 8
数据访问模型(续) 2.1 数据访问模型 在工具箱中选择GridView控件,将其拖曳到Default.aspx页面(设计视图)上 。 9
数据访问模型(续) 2.1 数据访问模型 拖曳完成后,Default.aspx页面如图所示。 10
数据访问模型(续) 2.1 数据访问模型 设置数据源,在“选择数据源”下拉列表框中选择“新建数据源”选项 。 11
数据访问模型(续) 2.1 数据访问模型 在“数据源配置向导”对话框中选择“数据库” ,单击“确定”按钮 。 12
数据访问模型(续) 2.1 数据访问模型 在选择数据连接时,选择刚才建立的连接,单击“下一步 ”按钮。 13
数据访问模型(续) 2.1 数据访问模型 向导会询问是否“将连接字符串保存到应用程序配置文件中”,单击“下一步” 按钮。 14
数据访问模型(续) 2.1 数据访问模型 选择希望从数据库中检索出来的数据,单击“下一步” 按钮。 15
数据访问模型(续) 2.1 数据访问模型 单击“完成”按钮,如下图所示 。 16
数据访问模型(续) 2.1 数据访问模型 完成配置后的Default.aspx如图所示。 17
数据访问模型(续) 2.1 数据访问模型 按Ctrl+F5组合键编译并运行应用程序,将看到如图所示的基于Web的应用程序。 18
数据访问模型的多媒体演示之一 多媒体演示
数据访问模型(续) 在上述例子中, 数据访问模型ADO.NET是如何工作的? 2.1 数据访问模型 在上述例子中, 数据访问模型ADO.NET是如何工作的? 首先, 程序通过ADO.NET同数据库MySample之间建立连接。 然后, 程序向ADO.NET发出指令, 要求访问员工表中关于员工编号、员工姓名和员工职位的数据,ADO.NET将指令传递给数据库。 最后, 数据库将数据返回至ADO.NET,ADO.NET将数据送至网页,用专有的控件将其显示出来。
1 数据访问模型(续) 下面来看ADO.NET基于Windows窗体应用程序的应用示例。 2.1 数据访问模型 下面来看ADO.NET基于Windows窗体应用程序的应用示例。 启动Visual Studio 2005,在菜单栏上依次选择“文件” →“新建项目”命令 。 1
数据访问模型(续) 2.1 数据访问模型 选择“Windows应用程序”,设置名称为“员工管理”,单击“确定”按钮,如图所示。 2
数据访问模型(续) 2.1 数据访问模型 在Visual Studio 2005中,找到数据源窗口。如果该窗口是不可见的,在菜单栏中依次选择“数据”→“显示数据源”,如图所示。 3
数据访问模型(续) 2.1 数据访问模型 当看到如下图所示的窗口时,单击“添加新数据源”链接项。 4
数据访问模型(续) 2.1 数据访问模型 当窗口提示“选择数据源类型”时,选择“数据库”,单击“下一步”按钮,如图所示。 5
数据访问模型(续) 2.1 数据访问模型 选择刚才建立的数据连接,单击“下一步”按钮。 6
数据访问模型(续) 2.1 数据访问模型 向导会询问是否“将连接字符串保存到应用程序配置文件中”,选择“是”选项,并接受其默认名称,单击“下一步”按钮。 7
数据访问模型(续) 2.1 数据访问模型 当窗口提示“选择数据库对象”时,选择员工表中的相应字段,单击“完成”按钮。 8
数据访问模型(续) 2.1 数据访问模型 在“数据源”窗口中,发现MySampleDataSet数据源已经被添加到应用程序中。 9
数据访问模型(续) 2.1 数据访问模型 把员工表拖曳到Windows窗体上,如图所示。 10
数据访问模型(续) 2.1 数据访问模型 在设计窗口的下方,将看到许多自动添加的组件,如图所示。 11
数据访问模型(续) 2.1 数据访问模型 按Ctrl+F5组合键编译并运行程序,如图所示。 12
数据访问模型的多媒体演示之二 多媒体演示
第2章 ADO.NET 2.0概述 数据访问模型 数据访问模型的发展史 ADO.NET概述 ADO.NET特征 小结 习题 37
数据访问模型的发展史 2.2 数据访问模型的发展史 ODBC DAO RDO OLE DB ADO ADO.NET
第2章 ADO.NET 2.0概述 数据访问模型 数据访问模型的发展史 ADO.NET概述 ADO.NET特征 小结 习题 39
ADO.NET概述 ADO.NET 是为 Microsoft .NET Framework 编程人员提供数据访问服务的一种对象模型。 ADO.NET包含.NET Framework 数据提供程序, 用于连接各种数据源、执行查询命令以及存储、操作和更新数据。 ADO.NET 帮助同数据源进行 联系的System.Data 类库,也可能包括 第三方类库 程序使用 C#或VB.NET编写 数据源 通常在表中包含 信息
ADO.NET概述(续) 2.3 ADO.NET概述 ADO.NET对象模型 数据提供程序 DataSet
ADO.NET对象模型 2.3.1 ADO.NET对象模型 ADO.NET 2.0对象模型中各个对象之间的相互关系如图所示。
ADO.NET对象模型 (续) ADO.NET的类分为以下两个组成部分 。 数据提供程序(Data Provider):用于和真实数据进行沟通。 数据集(DataSet):用于表示真实数据。
数据提供程序 .NET Framework 2.0 中的4个.NET数据提供程序 如下所示。 2.3.2 数据提供程序 描述 Microsoft SQL Server .NET Framework 数据提供程序 提供对SQL Server 7.0及更高版本和Microsoft Data Engine(MSDE)的优化访问。对于SQL Server的早期版本,请结合使用OLE DB .NET Framework 数据提供程序以及Microsoft OLE DB Provider for SQL Server(SQL OLE DB)。 SQL Server .NET Framework 数据提供程序使用其自身的协议直接与SQL Server 进行通信,而无需具有OLE DB或ODBC(Open Database Connectivity,开放式数据库连接)层。 该数据提供程序的类位于System.Data.SqlClient命名空间 OLE DB .NET Framework 数据提供程序 使用本机OLE DB通过COM互操作性来启用数据访问。 要使用OLE DB .NET Framework 数据提供程序,必须使用OLE DB提供程序。Microsoft已经用 ADO.NET测试了以下OLE DB提供程序:Microsoft OLE DB Provider for SQL Server(SQL OLE DB)、Microsoft OLE DB Provider for Oracle(MSDAORA)和OLE DB Provider for Microsoft Jet(Microsoft.Jet.OLE DB. 4.0)。 该数据提供程序的类位于System.Data.OleDb 命名空间
数据提供程序(续) (续表) 2.3.2 数据提供程序 ODBC .NET Framework 数据提供程序 使用本机 ODBC 驱动程序管理器(DM)通过 COM 互操作性来启用数据访问。 要使用ODBC .NET Framework 数据提供程序,必须使用 ODBC 驱动程序。已经使用 ADO.NET 测试了以下 ODBC 驱动程序:SQL Server、用于 Oracle 的 Microsoft ODBC以及 Microsoft Access 驱动程序(*.mdb)。 该数据提供程序的类位于 System.Data.Odbc 命名空间 Oracle .NET Framework 数据提供程序 通过 Oracle 客户端连接软件来启用对 Oracle 数据源的访问。数据提供程序支持 Oracle 客户机软件 V8.1.7 及其后续版本。 在可以连接到 Oracle 数据源之前,该数据提供程序要求在系统上安装 Oracle 客户端软件(V8.1.7 及其后续版本)。 该数据提供程序的类位于 System.Data.OracleClient 命名空间
数据提供程序(续) Connection对象 Command对象 DataReader对象 DataAdapter对象 2.3.2 数据提供程序 Connection对象 Command对象 DataReader对象 DataAdapter对象
DataSet DataSet是数据库中所检索数据位于内存中的缓存。某种程度上来说,它可以被看做一个简化的包含表及表之间关系的关系型数据库。
第2章 ADO.NET 2.0概述 数据访问模型 数据访问模型的发展史 ADO.NET概述 ADO.NET特征 小结 习题 48
ADO.NET特征 2.4 ADO.NET特征 断开连接方式的数据访问 增强的可编程性 内置XML支持
第2章 ADO.NET 2.0概述 数据访问模型 数据访问模型的发展史 ADO.NET概述 ADO.NET特征 小结 习题 50
ADO.NET 2.0新特性简介 MARS(Multiple Active Result Sets, 多重活动结果集) 异步操作 批量更新 批量数据复制
第2章 ADO.NET 2.0概述 数据访问模型 数据访问模型的发展史 ADO.NET概述 ADO.NET特征 小结 习题 52
小结 2.6 小结 本章阐述了数据访问模型在数据库访问操作上所起的重要作用,介绍了数据访问模型的概念以及ODBC、DAO、RDO、OLE DB和ADO等主流数据访问模型。 53
第2章 ADO.NET 2.0概述 数据访问模型 数据访问模型的发展史 ADO.NET概述 ADO.NET特征 小结 习题 54
习题 2.7 习题 1. 简述数据访问模型的发展史。 55
习题(续) 2.7 习题 2. ADO.NET 2.0的新特性有______、______、批量更新和_____。 56
习题(续) 3. ADO.NET支持断开连接方式的数据访问、________、内置XML支持这三个特征,使用户的操作更加方便、快捷。 2.7 习题 3. ADO.NET支持断开连接方式的数据访问、________、内置XML支持这三个特征,使用户的操作更加方便、快捷。 57
习题(续) 4. 多选题: 情况______适合使用断开连接的体系结构。 A. 供某证券公司营业部进行交易的软件 2.7 习题 4. 多选题: 情况______适合使用断开连接的体系结构。 A. 供某证券公司营业部进行交易的软件 B. 供长期出差的某企业领导了解该企业各种数据的软件 C. 某饭店对客房进行管理的软件 D. 畜牧场对牲畜的数量进行跟踪的软件 58
习题(续) 2.7 习题 5. DataReader能否直接在代码中创建?如果不能, 应如何创建? 59
习题(续) 6. DataAdapter包括哪4个Command对象?DataAdapter使用哪个Command对象来填充DataSet? 2.7 习题 6. DataAdapter包括哪4个Command对象?DataAdapter使用哪个Command对象来填充DataSet? 60