ImageVerifierCode 换一换
格式:PPT , 页数:96 ,大小:1.96MB ,
文档编号:3183067      下载积分:28 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-3183067.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(三亚风情)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(连接字符串课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

连接字符串课件.ppt

1、议程:议程:MDAC简介简介 数据库应用程序模型数据库应用程序模型 ADO.NET体系结构体系结构 ADO.NET对象模型 ADO.NET应用模型 ADO.NET编程模型 ADO.NET基本编程基本编程 检索数据 更新数据 存储过程 事务处理 数据绑定 批量操作 异步执行 连接池第一节第一节 数据访问简介数据访问简介1.1Microsoft 数据访问组件数据访问组件(MDAC)通过通过 Microsoft 数据访问组件数据访问组件(MDAC),开发人员可,开发人员可以连接到种类繁多的关系和非关系数据源,并且使用以连接到种类繁多的关系和非关系数据源,并且使用这些数据源中的数据。这些数据源中的数据

2、。您可以使用您可以使用 ActiveX Data Objects(ADO)、开放式数、开放式数据库连接据库连接(ODBC)或或 OLE DB 连接到很多个不同的数连接到很多个不同的数据源。据源。您可以通过由您可以通过由 Microsoft 生成和交付或者由各种第三生成和交付或者由各种第三方开发的提供程序和驱动程序完成该操作。方开发的提供程序和驱动程序完成该操作。1.1.1早期早期 MDAC 体系结构体系结构 1-Tier(monolithic)客户逻辑客户逻辑业务逻辑业务逻辑数据存储数据存储3-Tier瘦客户端瘦客户端N-Tier2-Tier胖客户端胖客户端InternetXML Web se

3、rvice1.2数据库应用程序模型演化数据库应用程序模型演化第二节第二节 ADO.NET体系结构体系结构ADO.NET 是专为基于消息的是专为基于消息的 Web 应用程序而设计的,应用程序而设计的,同时还能为其他应用程序结构提供较好的功能。通过同时还能为其他应用程序结构提供较好的功能。通过支持对数据的松耦合访问,支持对数据的松耦合访问,ADO.NET 减少了与数据库减少了与数据库的活动连接数目(即减少了多个用户争用数据库服务的活动连接数目(即减少了多个用户争用数据库服务器上的有限资源的可能性),从而实现了最大程度的器上的有限资源的可能性),从而实现了最大程度的数据共享。数据共享。ADO.NET

4、 还通过对分布式还通过对分布式 ADO.NET 应用程序的基本应用程序的基本对象对象“数据集数据集”(DataSet)支持基于支持基于 XML 的持久性和的持久性和传输格式,来实现最大程度的数据共享。数据集是一传输格式,来实现最大程度的数据共享。数据集是一种关系数据结构,可使用种关系数据结构,可使用 XML 进行读取、写入或序列进行读取、写入或序列化。化。ADO.NET 数据集使得生成要求应用程序层与多个数据集使得生成要求应用程序层与多个 Web 站点之间进行松耦合数据交换的应用程序变得很站点之间进行松耦合数据交换的应用程序变得很方便。方便。2.1概述概述无结构的无结构的结构化但无层次结构的数

5、据结构化但无层次结构的数据 Comma Separated Value(CSV)files Excel Exchange文件 Active Directory文件等有层次结构的数据有层次结构的数据 XML关系数据库关系数据库 SQL Server,Oracle,Access,and others2.2 ADO.NET 支持的数据存储类型支持的数据存储类型2.3ADO.NET新特性新特性ADO.NET是由一系列的数据库相关类和接口组成的,是由一系列的数据库相关类和接口组成的,它的基石是它的基石是XML技术,所以通过技术,所以通过ADO.NET我们不仅能我们不仅能访问关系型数据库中的数据,而且还能

6、访问层次化的访问关系型数据库中的数据,而且还能访问层次化的XML数据。数据。ADO.NET为我们提供了两种数据访问的模式:为我们提供了两种数据访问的模式:一种为连接模式(Connected),也就是与原来的ADO相兼容 另一种为非连接模式(Disconnected),这是ADO.NET中所提供的新的技术。2.3.1什么是连接模式什么是连接模式?连接环境是用户持续连接到一个数据源的连接环境连接环境是用户持续连接到一个数据源的连接环境优点优点:易于维护 连通情况易于控制缺点缺点:必须有一个连通的网络环境 规模难于控制2.3.2什么是无连接环境什么是无连接环境?无连接环境是来自一个中央数据库的一个子

7、集,无连接环境是来自一个中央数据库的一个子集,里面的数据可以独立拷贝或修改,最终修改也里面的数据可以独立拷贝或修改,最终修改也会被合并到中央数据库中。会被合并到中央数据库中。优点优点可以在任何时刻工作,也可以需要时提交数据其它用户可以使用连接无连接的环境可以提高程序的性能和规模缺点缺点数据不是立刻更新可能会导致冲突,而且一定需要解决2.4ADO.NET设计目标设计目标设计设计 ADO.NET 的目的是为了满足为数据访问提供全的目的是为了满足为数据访问提供全新的编程模型的要求:新的编程模型的要求:具有断开式数据结构;能够与 XML 紧密集成;具有能够组合来自多个、不同数据源的数据的通用数据表示形

8、式;以及具有为与数据库交互而优化的功能,这些要求都是.NET Framework 固有的内容。主要表现在以下几个方面:主要表现在以下几个方面:2.4ADO.NET设计目标设计目标续续利用当前的利用当前的 ADO 知识知识 ADO.NET 的设计满足了当今应用程序开发模型的多种要求。同时,该编程模型尽可能地与 ADO 保持一致,这使当今的 ADO 开发人员不必从头开始学习全新的数据访问技术。ADO.NET 与 ADO 共存。虽然大多数基于.NET 的新应用程序将使用 ADO.NET 来编写,但.NET 程序员仍然可以通过.NET COM 互操作性服务来使用 ADO。支持支持 N 层编程模式层编程

9、模式 ADO.NET 为断开式 n 层编程环境提供了一流的支持,许多新的应用程序都是为该环境编写的。使用断开式数据集这一概念已成为编程模型中的焦点。n 层编程的 ADO.NET 解决方案就是 DataSet。集成集成 XML 支持支持 XML 和数据访问是紧密联系在一起的,即 XML 的全部内容都是有关数据编码的,而数据访问越来越多的内容都与 XML 有关。.NET Framework 不仅支持 Web 标准,它还是完全基于 Web 标准生成的。2.5从从ADO到到ADO.NET的演化的演化ConnectionADOADO.NETCommandRecordsetXxxConnectionXxx

10、CommandDataSetXxxTransactionXxxDataReaderXxxDataAdapter2.5.1ADO与与ADO.NETADOADO通过RecordSet提供一个对数据库服务器的远程指针,但一次只提供一条记录,因此对客户机的内存要求比较低(注意:当时的 PC机的内存都比较小!);客户机一直与服务器保持连接,因此当客户机的数量增加时将加重数据库服务器的负担。ADO.NET非连接模式,并且不需要中间层;下载模式,本地(客户端)处理,并且可以是多张数据库表2.5.2ADO.NET应用结构应用结构2.6ADO.NET对象模型对象模型DataSetSQL Server.NET D

11、ata ProviderOLE DB.NET Data ProviderSQL Server 7.0(and later)OLEDB sources(SQL Server 6.5)2.7ADO.NET组件模型组件模型2.8DataSets,DataTables,and DataColumnsServerData StoreDatabaseConnectionStored procedureDataSetDataTableDataTableWindows and Web controlsDataView2.9Data AdapterData sourceDataAdapterDataTableD

12、ataTableDataSetDataAdapterFillUpdateFillUpdate2.9.1DataAdapter Object Modelsp_SELECTXxxCommandSelectCommandUpdateCommandInsertCommandDeleteCommandXxxDataAdapterXxxCommandXxxCommandXxxCommandXxxConnectionsp_UPDATEsp_INSERTsp_DELETEXxxDataReaderSQL Server 2005SqlConnectionSqlCommandSqlDataReader2.10AD

13、O.NET编程模型编程模型 连接模式连接模式在连接环境下,资在连接环境下,资源在连接关闭前一源在连接关闭前一直在服务器身直在服务器身1.打开连接打开连接2.执行命令执行命令3.使用使用reader读取行读取行4.关闭关闭reader5.关闭连接关闭连接SqlConnectionSqlDataAdapterDataSetSQL Server 20052.10ADO.NET编程模型编程模型 非连接模式非连接模式在无连接环境下,当数据在无连接环境下,当数据处理时,资源不放在服务处理时,资源不放在服务器上器上1.打开连接打开连接2.填充填充DataSet3.关闭连接关闭连接4.处理处理DataSet5

14、.打开连接打开连接6.更新数据源更新数据源7.关闭连接关闭连接2.11ADO.NET和和XMLADO.NET与与XML完全整合完全整合 在无连接的应用程序中使用 XMLXML Web ServicesDataSetRequest dataSQL queryResultsXMLUpdated XMLSQL updatesData SourceClientDataSet第三节第三节 ADO.NET2.0概览概览3.1概述概述ADO.NET 2.0随附了大量的新功能,这包括一个新的随附了大量的新功能,这包括一个新的基于基类的提供程序模型、所有提供程序都可以利用基于基类的提供程序模型、所有提供程序都可

15、以利用的功能以及特定于的功能以及特定于System.Data.SqlClient的更改。因的更改。因为为.NET Framework 2.0是与是与SQL Server 2005一起发一起发布的,所以其中的一些功能要求在布的,所以其中的一些功能要求在SQL Server 2005种也可用。种也可用。3.2托管提供程序新功能托管提供程序新功能 服务器枚举:支持枚举服务器枚举:支持枚举 Microsoft SQL Server 2000 以及更高版本的活动实例。以及更高版本的活动实例。异步处理:使您可以使用异步处理:使您可以使用 API 执行异步数据库操作,执行异步数据库操作,该该 API 在在.

16、NET Framework 所使用的异步模型之后建所使用的异步模型之后建模。模。多个活动结果集多个活动结果集(MARS):如果每个:如果每个 SqlDataReader 实例均从独立的命令启动,则允许应用程序在一个连实例均从独立的命令启动,则允许应用程序在一个连接上打开多个接上打开多个 SqlDataReader。批量复制操作:支持使用批量复制操作:支持使用 SQL Server.NET 数据提供数据提供程序执行快速的批量插入。程序执行快速的批量插入。新的新的 SQL Server Max 数据类型:在数据类型:在 SQL Server 2005 中支持中支持 varchar(max)、nva

17、rchar(max)、varbinary(max)数据类型。数据类型。SQL Server 用户定义类型用户定义类型:在在 SQL Server 2005 中支持用户定义数据类型中支持用户定义数据类型(UDT)。3.2托管提供程序新功能托管提供程序新功能续续1SQL Server 通知:允许通知:允许.NET Framework 应用程序应用程序向向 SQL Server 发送命令,如果执行相同命令生成的发送命令,如果执行相同命令生成的结果集与最初检索到的结果集不同,请求生成通知。结果集与最初检索到的结果集不同,请求生成通知。SQL Server 快照隔离的事务快照隔离的事务:支持快照隔离,该

18、:支持快照隔离,该 SQL Server 2005 机制旨在减少机制旨在减少 OLTP 应用程序中应用程序中的阻碍。的阻碍。SQL Server 2005 中的数据库镜像:在中的数据库镜像:在 SQL Server 2005 中通过新的连接字符串语法支持数据库镜像,中通过新的连接字符串语法支持数据库镜像,该语法指定故障转移合作伙伴服务器。该语法指定故障转移合作伙伴服务器。提供统计信息:在提供统计信息:在 SQL Server 2005 中支持检索运中支持检索运行库统计信息。目前,行库统计信息。目前,SQL Server.NET 提供程序提提供程序提供了供了 21 种不同的计数器。种不同的计数器

19、。在在 SQL Server 2005 中更改密码:允许中更改密码:允许.NET Framework 应用程序更改用户帐户的密码,不需要应用程序更改用户帐户的密码,不需要管理员参与。管理员参与。批处理:在从批处理:在从 DataSet 应用更新时,通过减少与数应用更新时,通过减少与数据库的往返次数来提高应用程序的性能。据库的往返次数来提高应用程序的性能。3.2托管提供程序新功能托管提供程序新功能续续2 跟踪:跟踪:ADO.NET 2.0 引入了引入了.NET 数据提供程序支持的新的内置数据提供程序支持的新的内置数据跟踪功能。数据跟踪功能。部分信任:现在,部分信任的环境中支持所有部分信任:现在,

20、部分信任的环境中支持所有 Microsoft 数据提数据提供程序。供程序。连接池控制:连接池控制:ADO.NET 2.0 引入了两种新的方法来清除连接池:引入了两种新的方法来清除连接池:ClearAllPools 和和 ClearPool。SQL Server XML 数据类型支持:数据类型支持:SQL Server 2005 支持新的支持新的 XML 数据类型,数据类型,System.Data.SqlClient 在客户端上为该数据类在客户端上为该数据类型提供强大的支持。型提供强大的支持。XML 值使用值使用 System.Xml 框架公开,以便框架公开,以便与与.NET 编程模型无缝地集成

21、。编程模型无缝地集成。SQL Server 2005 与与 System.Transactions 的集成以及可提升的集成以及可提升的事务优化:的事务优化:.NET 2.0 具有一个新的事务框架,可以通过具有一个新的事务框架,可以通过 System.Transactions 命名空间访问。将用于分布式事务管理的命名空间访问。将用于分布式事务管理的 System.Transactions、用于数据库访问的、用于数据库访问的 System.Data.SqlClient 和作为后端的和作为后端的 SQL Server 2005 组合使组合使用时,可以优化分布式事务,使用时,可以优化分布式事务,使“分

22、布式分布式”的额外成本只有在真的额外成本只有在真正需要事务时才会产生。正需要事务时才会产生。3.3断开类新功能断开类新功能DataSet 增强增强 新的 DataTableReader 以一个或多个只读、只进结果集的形式提供 DataSet 或的 DataTable 的内容。新的索引引擎提高对 DataTable 和 DataRow 对象的插入、删除和修改操作的性能。索引或主键必须在基表中定义。DataSet 的二进制序列化的二进制序列化 在通过远程处理进行二进制传输时,这个新选项使 DataSet 和 DataTable 可以使用二进制格式进行序列化。在使用远程处理连接到不同层的应用程序中使

23、用 DataSet/DataTable 对象时,大多数情况下,这样可以大大提高性能,并明显减少内存和 CPU 的使用。DataTable 作为独立对象作为独立对象 以前的版本中许多只能在 DataSet 中使用的方法现在也可以在 DataTable 中使用(例如 ReadXml 和 WriteXml)。此外,DataTable 可以自行进行序列化,所以,包含单个表的 DataSet 不必只是通过 Web 服务或任何其他要求序列化的机制来公开表。3.3断开类新功能断开类新功能续续1从从 DataView 创建创建 DataTable 现在,可以从 DataView 创建 DataTable。新的

24、 DataTable 将与当前的 DataView 包含相同的行集。新的 DataTable 的列可以是 DataView 列的子集。行可以是所有行,也可以是个别行。架构推断引擎增强架构推断引擎增强 架构推断引擎得到了增强,如果有足够的信息,可以推断类型;速度也明显提高。命名空间限定的表命名空间限定的表 现在,DataSet 可以支持具有相同 TableName 但是具有不同 Namespace 的表,提供了避免命名冲突的机制。新的新的 DataTable 加载功能加载功能 DataTables 和 DataSets 新的 Load 方法可以直接将 DataReader 流处理到 DataTa

25、ble 中。Load 方法还提供了新的加载行为选项,扩展了可以通过 DataAdapter 使用的功能。3.3断开类新功能断开类新功能续续2行状态控制行状态控制 新的 SetAdded 和 SetModified 方法允许应用程序显式操作 DataSet 和 DataTable 行的行状态。增强了对自定义的用户定义类型的支持增强了对自定义的用户定义类型的支持 DataTable 为自定义的用户定义类型提供更多的支持。XML 序列化已扩展为支持多态性。例如,Person 列可以存储 Employee 实例,该实例序列化为 XML 以及从 XML 反序列化,同时不会损失任何类型的保真度。此外,现在

26、用户可以实现新的更改跟踪接口,使 DataTable 可以跟踪此类对象的更改。XML/XSD 增强增强 增加了在 XSD 中读写简单类型的支持。增加了读写要流处理的多个架构的支持。增加了读写 XSD/XML 的支持,条件是单个表或 XML 元素嵌套在两个或两个以上的父表中。DataRow 增强增强 新的 IndexOf 可以用于查找行在 DataTable.Rows 集合中的位置。3.3断开类新功能断开类新功能续续3更改列在更改列在 DataTable 中的位置中的位置新的 SetOrdinal 方法使用户可以更改列在 DataTable 中的位置。DataView 性能增强性能增强ADO.N

27、ET 2.0 中的 DataView 使用新的更新算法,大大改进了 DataView 的维护。DataColumn 表达式表达式DataColumn 中的表达式可以包括同一个 DataTable 中的多个列。表达式可以更新,列值得到维护。类型化类型化 DataSet 的架构序列化的架构序列化类型化 DataSets 可以通过将 SchemaSerializationMode 枚举设置为 ExcludeSchema,使架构组件跳过序列化。3.4与提供程序无关的与提供程序无关的 API.NET 数据提供程序枚举数据提供程序枚举 通过使用 GetFactoryClasses 方法,可以枚举已安装在计

28、算机上的数据提供程序。这些数据提供程序在 machine.config 文件中列出。结果以名为 DbProviderFactories 的 DataTable 返回 与提供程序无关的与提供程序无关的 API 对 System.Data.Common 命名空间的增强支持通过单个 API 跨多个提供程序访问数据库。架构发现架构发现 架构发现使应用程序可以请求托管提供程序查找并返回与特定数据库的数据库架构有关的信息,给定连接连接到该数据库。不同的数据库架构元素(例如表、列和存储过程)通过每个提供程序的 Connection 类的 GetSchema 方法进行公开。第四节第四节 ADO.NET基本编程

29、基本编程4.1典型应用程序和数据源典型应用程序和数据源3.2数据访问层基本程序块数据访问层基本程序块3.2.1数据数据访问访问程序块程序块对数据库访问提供了简单、高效的访问方式对数据库访问提供了简单、高效的访问方式 屏蔽了对常用ADO.NET使用的复杂度,使用单条语句即可完成对存储过程的调用为为SQL Server,Oracle,DB2提供了统一的编程提供了统一的编程 当移植应用程序到不同数据库类型时,减少重写代码的数量搭起了逻辑数据库与物理数据库间的桥梁,降低改变搭起了逻辑数据库与物理数据库间的桥梁,降低改变物理数据目标的难度物理数据目标的难度容易对数据库访问的配置信息进行调整和验证容易对数

30、据库访问的配置信息进行调整和验证3.2.2数据数据访问程序块架构访问程序块架构3.3典型典型ADO.NET数据访问模型数据访问模型操作数据库的方式操作数据库的方式 连接模式、利用Connection、Command和DataReader对象组合来获得数据 非连接模式、利用DataAdapter对象来获得数据3.4ADO.NET数据库基本操作方式数据库基本操作方式3.4.1连接模式连接模式3.4.2非连接模式非连接模式3.5System.Data核心类核心类类类说明说明Constraint表示可在一个或多个表示可在一个或多个 DataColumn 对象上强制的约束。对象上强制的约束。DataCo

31、lumn表示表示 DataTable 中列的架构。中列的架构。DataRelation表示两个表示两个 DataTable 对象之间的父对象之间的父/子关系。子关系。DataRow表示表示 DataTable 中的一行数据。中的一行数据。DataRowView表示表示 DataRow 的自定义视图。的自定义视图。DataSet表示数据在内存中的缓存。表示数据在内存中的缓存。DataTable表示内存中数据的一个表。表示内存中数据的一个表。DataTableReaderDataTableReader 以一个或多个只读、只进结果集的形式获取一个或多个以一个或多个只读、只进结果集的形式获取一个或多个

32、 DataTable 对象的内容。对象的内容。DataView表示用于排序、筛选、搜索、编辑和导航的表示用于排序、筛选、搜索、编辑和导航的 DataTable 的可绑定数据的自的可绑定数据的自定义视图。定义视图。DataViewManager包含包含 DataSet 中每个中每个 DataTable 的默认的默认 DataViewSettingCollection。DataViewSetting表示从表示从 DataViewManager 创建的创建的 DataView 的的 ApplyDefaultSort、DataViewManager、RowFilter、RowStateFilter、S

33、ort 和和 Table 的默认设的默认设置。置。ForeignKeyConstraint表示删除或更新某个值或行时,对主键表示删除或更新某个值或行时,对主键/外键关系中一组列强制进行的操外键关系中一组列强制进行的操作限制。作限制。UniqueConstraint表示对一组列的限制,列中的所有值必须是唯一的。表示对一组列的限制,列中的所有值必须是唯一的。3.6System.Data.SqlClient核心类核心类类类说明说明SqlBulkCopy使您可以用其他源的数据有效批量加载使您可以用其他源的数据有效批量加载 SQL Server 表。表。SqlCommand表示要对表示要对 SQL Se

34、rver 数据库执行的一个数据库执行的一个 Transact-SQL 语句或存储语句或存储过程。无法继承此类。过程。无法继承此类。SqlCommandBuilder自动生成单表命令,用于将对自动生成单表命令,用于将对 DataSet 所做的更改与关联的所做的更改与关联的 SQL Server 数据库的更改相协调。无法继承此类。数据库的更改相协调。无法继承此类。SqlConnection表示表示 SQL Server 数据库的一个打开的连接。无法继承此类。数据库的一个打开的连接。无法继承此类。SqlConnectionStringBuilder为创建和管理由为创建和管理由 SqlConnecti

35、on 类使用的连接字符串的内容提供了类使用的连接字符串的内容提供了一种简单方法。一种简单方法。SqlDataAdapter表示用于填充表示用于填充 DataSet 和更新和更新 SQL Server 数据库的一组数据命令数据库的一组数据命令和一个数据库连接。无法继承此类。和一个数据库连接。无法继承此类。SqlDataReader提供一种从提供一种从 SQL Server 数据库读取行的只进流的方式。无法继承数据库读取行的只进流的方式。无法继承此类。此类。SqlError收集与收集与 SQL Server 返回的警告或错误有关的信息。返回的警告或错误有关的信息。SqlParameter表示表示

36、SqlCommand 的参数,也可以是它到的参数,也可以是它到 DataSet 列的映射。无列的映射。无法继承此类。法继承此类。SqlTransaction表示要在表示要在 SQL Server 数据库中处理的数据库中处理的 Transact-SQL 事务。无法继事务。无法继承此类。承此类。3.6.1连接对象类层次连接对象类层次3.6.2命令命令类层次及依赖类层次及依赖3.6.3数据读取数据读取3.6.4数据适配器及依赖数据适配器及依赖3.7基本数据访问基本数据访问连接字符串连接字符串数据检索数据检索数据更新数据更新存储过程存储过程事务事务数据绑定数据绑定3.8连接连接(DbConnectio

37、n)和连接字符串和连接字符串 连接字符串包含作为参数传递给数据源的初始化信息。连接字符串包含作为参数传递给数据源的初始化信息。在设置后会立即分析连接字符串。语法错误将生成运在设置后会立即分析连接字符串。语法错误将生成运行时异常,但是只有在数据源验证了连接字符串中的行时异常,但是只有在数据源验证了连接字符串中的信息后,才可以发现其他错误。验证后,数据源设置信息后,才可以发现其他错误。验证后,数据源设置启用该连接的各种选项。启用该连接的各种选项。连接字符串关键字连接字符串关键字 连接字符串的格式是使用分号分隔的键/值参数对列表:keyword1=value;keyword2=value持续安全信息

38、持续安全信息 连接字符串中 Persist Security Info 关键字的默认设置为 false。Persist Security Info=false;使用使用 Windows 身份验证身份验证 Integrated Security=true;Integrated Security=SSPI;3.8.1创建连接字符串创建连接字符串每个每个.NET Framework 数据提供程序提供一个从数据提供程序提供一个从 DbConnectionStringBuilder 继承的强类型连接字符继承的强类型连接字符串生成器类。串生成器类。SqlConnectionStringBuilder Ol

39、eDbConnectionStringBuilder OdbcConnectionStringBuilder OracleConnectionStringBuilder。3.8.2SqlClient 连接字符串连接字符串 始终通过名称或通过关键字始终通过名称或通过关键字(local)指定服务指定服务器。器。Persist Security Info=False;Integrated Security=true;Initial Catalog=AdventureWorks;Server=MSSQL1Persist Security Info=False;Integrated Security=S

40、SPI;database=AdventureWorks;server=(local)Persist Security Info=False;Trusted_Connection=True;database=AdventureWorks;server=(local)“连接到命名实例连接到命名实例要连接到 SQL Server 2000 或更高版本的命名实例,请使用 server nameinstance name 语法。Server=MySqlServerMSSQL1;3.8.3OleDb 连接字符串连接字符串 OleDb 连接字符串语法:必须为连接字符串语法:必须为 OleDbConnecti

41、on 连接字符串指定提供程序连接字符串指定提供程序名称。名称。连接到连接到Microsoft Access:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:Northwind.mdb;User ID=Admin;Password=;连接到连接到 Excel:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:MyExcel.xls;Extended Properties=Excel 8.0;HDR=Yes;IMEX=13.8.4Odbc 连接字符串连接字符串 OdbcConnection 的的 Connec

42、tionString 属性可以为属性可以为 OLE DB 数据源获取或设置连接字符串。数据源获取或设置连接字符串。以下连接字符串使用以下连接字符串使用 Microsoft 文本驱动程序。文本驱动程序。Driver=Microsoft Text Driver(*.txt;*.csv);DBQ=d:bin3.8.5Oracle 连接字符串连接字符串 Data Source=Oracle9i;User ID=*;Password=*;3.8.6存储和检索连接字符串存储和检索连接字符串 将连接字符串存储在配置文件中将连接字符串存储在配置文件中 为了避免将连接字符串存储在代码中,可以将代码存储在 ASP

43、.NET 应用程序的 web.config 文件中以及 Windows 应用程序的 app.config 文件中。连接字符串可以存储在配置文件的 元素中。例如:例如:Demo:检索连接字符串:检索连接字符串private static SqlConnection BuilderConnectionFromConfig()ConnectionStringSettings settings=ConfigurationManager.ConnectionStringstestConnectionString;if(settings!=null)string connectionString=sett

44、ings.ConnectionString;SqlConnection conn=new SqlConnection(connectionString);return conn;else return null;Practice:Session 4-练习练习13.9使用连接模式访问数据使用连接模式访问数据3.9.1简单简单SQL简单查询语句简单查询语句SELECT useraddress,userphone FROM users WHERE username=John;带参数的查询语句带参数的查询语句SELECT useraddress,userphone FROM users WHERE u

45、sername=UserName;简单存储过程简单存储过程EXEC sp_getUserAddressPhone(UserName);3.9.2命令的执行方式命令的执行方式同步执行:同步执行:ExecuteNonQuery:针对.NET Framework 数据提供程序的 Connection 对象执行 SQL 语句,并返回受影响的行数。ExecuteScalar:执行查询,并返回查询所返回的结果集中第一行的第一列。忽略额外的列或行。ExecuteReader:针对 Connection 执行 CommandText,并生成 IDataReader。ExecuteXmlReader 将 Com

46、mandText 发送到 Connection 并生成一个 XmlReader 对象。异步执行:异步执行:BeginXXX();EndXXX();3.9.3命令中的参数命令中的参数 参数在两种上下文中使用:参数在两种上下文中使用:选择参数:在产品应用程序中,经常只获取数据库中数据的一个子集。其做法是,使用包含 WHERE 子句的 SQL 语句或存储过程,该子句具有用于获得选择判据(在运行时获取)的参数。此外,当更新或删除记录时,将使用 WHERE 子句指出要更改的一条或多条记录。WHERE 子句中使用的值通常在运行时导出。更新参数:当更新现有记录或插入新记录时,已更改记录或新记录中列的值将在运

47、行时建立。此外,开放式并发检查中使用的值也使用参数来建立。3.9.4参数表达方式参数表达方式使用使用OleDbCommand和和OdbcCommand:SELECT BookId,Title,Author,Price from BOOKS WHERE(Title LIKE?)使用使用 SqlCommand 命名参数的查询可能如下命名参数的查询可能如下所示:所示:SELECT BookId,Title,Author,Price from BOOKS WHERE(Title LIKE title)使用使用 OracleCommand 命名参数的查询可能命名参数的查询可能如下所示:如下所示:SELE

48、CT BookId,Title,Author,Price from BOOKS WHERE(Title LIKE:title)Demo:更新参数:更新参数插入:插入:INSERT INTO ShoppingCart (BookId,CustId,Quantity)Values(?,?,?)更新:更新:UPDATE ShoppingCart SET(BookId=?,CustId=?,Quantity=?)WHERE(BookId=?AND CustId=?)删除:删除:DELETE FROM ShoppingCart WHERE(BookId=?AND CustId=?)3.9.5参数集合和参

49、数对象参数集合和参数对象 数据适配器数据适配器 参数集合参数集合 SqlDataAdapter SqlParameterCollection OleDbDataAdapter OleDbParameterCollection OdbcDataAdapter OdbcParameterCollection OracleDataAdapter OracleParameterCollection 3.9.6插入数据插入数据基本方法:基本方法:使用SQL命令Insert 使用DataSet.NewRow()使用DataSet.Merge(DataSet)3.9.7更新数据更新数据基本方法:基本方法:使

50、用SQL命令Update 使用SqlDataAdapter.Update()Practice:Session 4-练习练习23.10使用非连接模式访问数据使用非连接模式访问数据在在ADO.NET 中,尤其是中,尤其是Dataset,内部已经,内部已经使用了使用了XML 机制,但是,在机制,但是,在XML 的应用方面,的应用方面,它还有更重要的应用,也就是它可以把已有的它还有更重要的应用,也就是它可以把已有的Dataset数据表,制作成数据表,制作成XML 文件,反过来,文件,反过来,也可以把现有的文本格式的也可以把现有的文本格式的XML 文件,灌进文件,灌进Dataset中,并对它进行各种处理

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|