连接字符串课件_第1页
连接字符串课件_第2页
连接字符串课件_第3页
连接字符串课件_第4页
连接字符串课件_第5页
已阅读5页,还剩91页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、者由各种第三方开发的提供程序和驱动程序完成该操作。 1.1.1早期 MDAC 体系结构 1-Tier(monolithic)客户逻辑业务逻辑数据存储3-Tier瘦客户端N-Tier2-Tier胖客户端InternetXML Web service1.2数据库应用程序模型演化第二节 ADO.NET体系结构ADO.NET 是专为基于消息的 Web 应用程序而设计的,同时还能为其他应用程序结构提供较好的功能。通过支持对数据的松耦合访问,ADO.NET 减少了与数据库的活动连接数目(即减少了多个用户争用数据库服务器上的有限资源的可能性),从而实现了最大程度的数据共享。ADO.NET 还通过对分布式 A

3、DO.NET 应用程序的基本对象“数据集”(DataSet) 支持基于 XML 的持久性和传输格式,来实现最大程度的数据共享。数据集是一种关系数据结构,可使用 XML 进行读取、写入或序列化。ADO.NET 数据集使得生成要求应用程序层与多个 Web 站点之间进行松耦合数据交换的应用程序变得很方便。2.1概述无结构的结构化但无层次结构的数据Comma Separated Value (CSV) filesExcelExchange文件Active Directory文件等有层次结构的数据XML关系数据库SQL Server, Oracle, Access, and others2.2 ADO.

4、NET 支持的数据存储类型2.3ADO.NET新特性ADO.NET是由一系列的数据库相关类和接口组成的,它的基石是XML技术,所以通过ADO.NET我们不仅能访问关系型数据库中的数据,而且还能访问层次化的XML数据。ADO.NET为我们提供了两种数据访问的模式:一种为连接模式(Connected),也就是与原来的ADO相兼容另一种为非连接模式(Disconnected),这是ADO.NET中所提供的新的技术。2.3.1什么是连接模式?连接环境是用户持续连接到一个数据源的连接环境优点:易于维护连通情况易于控制缺点:必须有一个连通的网络环境规模难于控制2.3.2什么是无连接环境? 无连接环境是来自

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

6、前的 ADO 知识ADO.NET 的设计满足了当今应用程序开发模型的多种要求。同时,该编程模型尽可能地与 ADO 保持一致,这使当今的 ADO 开发人员不必从头开始学习全新的数据访问技术。ADO.NET 与 ADO 共存。虽然大多数基于 .NET 的新应用程序将使用 ADO.NET 来编写,但 .NET 程序员仍然可以通过 .NET COM 互操作性服务来使用 ADO。支持 N 层编程模式ADO.NET 为断开式 n 层编程环境提供了一流的支持,许多新的应用程序都是为该环境编写的。使用断开式数据集这一概念已成为编程模型中的焦点。n 层编程的 ADO.NET 解决方案就是 DataSet。集成

7、XML 支持XML 和数据访问是紧密联系在一起的,即 XML 的全部内容都是有关数据编码的,而数据访问越来越多的内容都与 XML 有关。.NET Framework 不仅支持 Web 标准,它还是完全基于 Web 标准生成的。2.5从ADO到ADO.NET的演化ConnectionADOADO.NETCommandRecordsetXxxConnectionXxxCommandDataSetXxxTransactionXxxDataReaderXxxDataAdapter2.5.1ADO与ADO.NETADOADO通过RecordSet提供一个对数据库服务器的远程指针,但一次只提供一条记录,因

8、此对客户机的内存要求比较低(注意:当时的 PC机的内存都比较小!);客户机一直与服务器保持连接,因此当客户机的数量增加时将加重数据库服务器的负担。ADO.NET非连接模式,并且不需要中间层;下载模式,本地(客户端)处理,并且可以是多张数据库表2.5.2ADO.NET应用结构2.6ADO .NET对象模型DataSetSQL Server .NET Data ProviderOLE DB .NET Data ProviderSQL Server 7.0(and later)OLEDB sources(SQL Server 6.5)2.7ADO.NET组件模型2.8DataSets, DataTa

9、bles, and DataColumnsServerData StoreDatabaseConnectionStored procedureDataSetDataTableDataTableWindows and Web controlsDataView2.9Data AdapterData sourceDataAdapterDataTableDataTableDataSetDataAdapterFillUpdateFillUpdate2.9.1DataAdapter Object Modelsp_SELECTXxxCommandSelectCommandUpdateCommandInser

10、tCommandDeleteCommandXxxDataAdapterXxxCommandXxxCommandXxxCommandXxxConnectionsp_UPDATEsp_INSERTsp_DELETEXxxDataReaderSQL Server 2005SqlConnectionSqlCommandSqlDataReader2.10ADO.NET编程模型 连接模式在连接环境下,资源在连接关闭前一直在服务器身打开连接执行命令使用reader读取行关闭reader关闭连接SqlConnectionSqlDataAdapterDataSetSQL Server 20052.10ADO.N

11、ET编程模型 非连接模式在无连接环境下,当数据处理时,资源不放在服务器上打开连接填充DataSet关闭连接处理DataSet打开连接更新数据源关闭连接2.11ADO.NET和XMLADO.NET与XML完全整合在无连接的应用程序中使用 XMLXML Web ServicesDataSetRequest data1SQL query2Results3XML4Updated XML5SQL updates6Data SourceClientDataSet第三节 ADO.NET2.0概览3.1概述ADO.NET 2.0随附了大量的新功能,这包括一个新的基于基类的提供程序模型、所有提供程序都可以利用的

12、功能以及特定于System.Data.SqlClient的更改。因为.NET Framework 2.0是与SQL Server 2005一起发布的,所以其中的一些功能要求在SQL Server 2005种也可用。 3.2托管提供程序新功能 服务器枚举:支持枚举 Microsoft SQL Server 2000 以及更高版本的活动实例。异步处理:使您可以使用 API 执行异步数据库操作,该 API 在 .NET Framework 所使用的异步模型之后建模。多个活动结果集 (MARS) :如果每个 SqlDataReader 实例均从独立的命令启动,则允许应用程序在一个连接上打开多个 Sql

13、DataReader。批量复制操作:支持使用 SQL Server .NET 数据提供程序执行快速的批量插入。新的 SQL Server Max 数据类型:在 SQL Server 2005 中支持 varchar(max)、nvarchar(max)、varbinary(max) 数据类型。SQL Server 用户定义类型 :在 SQL Server 2005 中支持用户定义数据类型 (UDT)。3.2托管提供程序新功能续1SQL Server 通知:允许 .NET Framework 应用程序向 SQL Server 发送命令,如果执行相同命令生成的结果集与最初检索到的结果集不同,请求生

14、成通知。SQL Server 快照隔离的事务 :支持快照隔离,该 SQL Server 2005 机制旨在减少 OLTP 应用程序中的阻碍。SQL Server 2005 中的数据库镜像:在 SQL Server 2005 中通过新的连接字符串语法支持数据库镜像,该语法指定故障转移合作伙伴服务器。提供统计信息:在 SQL Server 2005 中支持检索运行库统计信息。目前,SQL Server .NET 提供程序提供了 21 种不同的计数器。在 SQL Server 2005 中更改密码:允许 .NET Framework 应用程序更改用户帐户的密码,不需要管理员参与。批处理:在从 Dat

15、aSet 应用更新时,通过减少与数据库的往返次数来提高应用程序的性能。3.2托管提供程序新功能续2跟踪:ADO.NET 2.0 引入了 .NET 数据提供程序支持的新的内置数据跟踪功能。部分信任:现在,部分信任的环境中支持所有 Microsoft 数据提供程序。连接池控制:ADO.NET 2.0 引入了两种新的方法来清除连接池:ClearAllPools 和 ClearPool。SQL Server XML 数据类型支持:SQL Server 2005 支持新的 XML 数据类型,System.Data.SqlClient 在客户端上为该数据类型提供强大的支持。XML 值使用 System.X

16、ml 框架公开,以便与 .NET 编程模型无缝地集成。SQL Server 2005 与 System.Transactions 的集成以及可提升的事务优化:.NET 2.0 具有一个新的事务框架,可以通过 System.Transactions 命名空间访问。将用于分布式事务管理的 System.Transactions、用于数据库访问的 System.Data.SqlClient 和作为后端的 SQL Server 2005 组合使用时,可以优化分布式事务,使“分布式”的额外成本只有在真正需要事务时才会产生。3.3断开类新功能DataSet 增强新的 DataTableReader 以一个

17、或多个只读、只进结果集的形式提供 DataSet 或的 DataTable 的内容。新的索引引擎提高对 DataTable 和 DataRow 对象的插入、删除和修改操作的性能。索引或主键必须在基表中定义。DataSet 的二进制序列化在通过远程处理进行二进制传输时,这个新选项使 DataSet 和 DataTable 可以使用二进制格式进行序列化。在使用远程处理连接到不同层的应用程序中使用 DataSet/DataTable 对象时,大多数情况下,这样可以大大提高性能,并明显减少内存和 CPU 的使用。DataTable 作为独立对象以前的版本中许多只能在 DataSet 中使用的方法现在也

18、可以在 DataTable 中使用(例如 ReadXml 和 WriteXml)。此外,DataTable 可以自行进行序列化,所以,包含单个表的 DataSet 不必只是通过 Web 服务或任何其他要求序列化的机制来公开表。3.3断开类新功能续1从 DataView 创建 DataTable现在,可以从 DataView 创建 DataTable。新的 DataTable 将与当前的 DataView 包含相同的行集。新的 DataTable 的列可以是 DataView 列的子集。行可以是所有行,也可以是个别行。架构推断引擎增强架构推断引擎得到了增强,如果有足够的信息,可以推断类型;速度也

19、明显提高。命名空间限定的表现在,DataSet 可以支持具有相同 TableName 但是具有不同 Namespace 的表,提供了避免命名冲突的机制。新的 DataTable 加载功能DataTables 和 DataSets 新的 Load 方法可以直接将 DataReader 流处理到 DataTable 中。Load 方法还提供了新的加载行为选项,扩展了可以通过 DataAdapter 使用的功能。 3.3断开类新功能续2行状态控制新的 SetAdded 和 SetModified 方法允许应用程序显式操作 DataSet 和 DataTable 行的行状态。增强了对自定义的用户定义类

20、型的支持DataTable 为自定义的用户定义类型提供更多的支持。XML 序列化已扩展为支持多态性。例如,Person 列可以存储 Employee 实例,该实例序列化为 XML 以及从 XML 反序列化,同时不会损失任何类型的保真度。此外,现在用户可以实现新的更改跟踪接口,使 DataTable 可以跟踪此类对象的更改。XML/XSD 增强增加了在 XSD 中读写简单类型的支持。增加了读写要流处理的多个架构的支持。增加了读写 XSD/XML 的支持,条件是单个表或 XML 元素嵌套在两个或两个以上的父表中。DataRow 增强新的 IndexOf 可以用于查找行在 DataTable.Row

21、s 集合中的位置。3.3断开类新功能续3更改列在 DataTable 中的位置新的 SetOrdinal 方法使用户可以更改列在 DataTable 中的位置。DataView 性能增强ADO.NET 2.0 中的 DataView 使用新的更新算法,大大改进了 DataView 的维护。DataColumn 表达式DataColumn 中的表达式可以包括同一个 DataTable 中的多个列。表达式可以更新,列值得到维护。类型化 DataSet 的架构序列化类型化 DataSets 可以通过将 SchemaSerializationMode 枚举设置为 ExcludeSchema,使架构组件

22、跳过序列化。3.4与提供程序无关的 API .NET 数据提供程序枚举 通过使用 GetFactoryClasses 方法,可以枚举已安装在计算机上的数据提供程序。这些数据提供程序在 machine.config 文件中列出。结果以名为 DbProviderFactories 的 DataTable 返回 与提供程序无关的 API对 System.Data.Common 命名空间的增强支持通过单个 API 跨多个提供程序访问数据库。架构发现架构发现使应用程序可以请求托管提供程序查找并返回与特定数据库的数据库架构有关的信息,给定连接连接到该数据库。不同的数据库架构元素(例如表、列和存储过程)通过

23、每个提供程序的 Connection 类的 GetSchema 方法进行公开。第四节 ADO.NET基本编程4.1典型应用程序和数据源3.2数据访问层基本程序块SecurityCryptoConfigurationData AccessLoggingCachingExceptionsConfig Tool3.2.1数据访问程序块对数据库访问提供了简单、高效的访问方式屏蔽了对常用ADO.NET使用的复杂度,使用单条语句即可完成对存储过程的调用为SQL Server, Oracle, DB2提供了统一的编程当移植应用程序到不同数据库类型时,减少重写代码的数量搭起了逻辑数据库与物理数据库间的桥梁,降

24、低改变物理数据目标的难度容易对数据库访问的配置信息进行调整和验证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 对象上强制的约束。DataColumn表示 DataTable 中列的架构。DataRelation表示两个 DataTable 对象之

25、间的父/子关系。DataRow表示 DataTable 中的一行数据。DataRowView表示 DataRow 的自定义视图。DataSet表示数据在内存中的缓存。DataTable表示内存中数据的一个表。DataTableReaderDataTableReader 以一个或多个只读、只进结果集的形式获取一个或多个 DataTable 对象的内容。 DataView表示用于排序、筛选、搜索、编辑和导航的 DataTable 的可绑定数据的自定义视图。DataViewManager包含 DataSet 中每个 DataTable 的默认 DataViewSettingCollection。Da

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

27、nd表示要对 SQL Server 数据库执行的一个 Transact-SQL 语句或存储过程。无法继承此类。SqlCommandBuilder自动生成单表命令,用于将对 DataSet 所做的更改与关联的 SQL Server 数据库的更改相协调。无法继承此类。 SqlConnection表示 SQL Server 数据库的一个打开的连接。无法继承此类。 SqlConnectionStringBuilder为创建和管理由 SqlConnection 类使用的连接字符串的内容提供了一种简单方法。 SqlDataAdapter表示用于填充 DataSet 和更新 SQL Server 数据库的一

28、组数据命令和一个数据库连接。无法继承此类。SqlDataReader提供一种从 SQL Server 数据库读取行的只进流的方式。无法继承此类。SqlError收集与 SQL Server 返回的警告或错误有关的信息。SqlParameter表示 SqlCommand 的参数,也可以是它到 DataSet 列的映射。无法继承此类。SqlTransaction表示要在 SQL Server 数据库中处理的 Transact-SQL 事务。无法继承此类。3.6.1连接对象类层次3.6.2命令类层次及依赖3.6.3数据读取3.6.4数据适配器及依赖3.7基本数据访问连接字符串数据检索数据更新存储过程

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

30、rated Security=true;Integrated Security=SSPI;3.8.1创建连接字符串每个 .NET Framework 数据提供程序提供一个从 DbConnectionStringBuilder 继承的强类型连接字符串生成器类。 SqlConnectionStringBuilderOleDbConnectionStringBuilderOdbcConnectionStringBuilderOracleConnectionStringBuilder。 3.8.2SqlClient 连接字符串 始终通过名称或通过关键字 (local) 指定服务器。 Persist S

31、ecurity Info=False;Integrated Security=true;Initial Catalog=AdventureWorks;Server=MSSQL1Persist Security Info=False;Integrated Security=SSPI;database=AdventureWorks;server=(local)Persist Security Info=False;Trusted_Connection=True;database=AdventureWorks;server=(local)“连接到命名实例要连接到 SQL Server 2000 或更

32、高版本的命名实例,请使用 server nameinstance name 语法。Server=MySqlServerMSSQL1; 3.8.3OleDb 连接字符串 OleDb 连接字符串语法:必须为 OleDbConnection 连接字符串指定提供程序名称。 连接到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:My

33、Excel.xls;Extended Properties=Excel 8.0;HDR=Yes;IMEX=13.8.4Odbc 连接字符串 OdbcConnection 的 ConnectionString 属性可以为 OLE DB 数据源获取或设置连接字符串。以下连接字符串使用 Microsoft 文本驱动程序。Driver=Microsoft Text Driver (*.txt; *.csv);DBQ=d:bin3.8.5Oracle 连接字符串 Data Source=Oracle9i;User ID=*;Password=*;3.8.6存储和检索连接字符串 将连接字符串存储在配置文件

34、中为了避免将连接字符串存储在代码中,可以将代码存储在 ASP.NET 应用程序的 web.config 文件中以及 Windows 应用程序的 app.config 文件中。 连接字符串可以存储在配置文件的 元素中。 例如: Demo:检索连接字符串private static SqlConnection BuilderConnectionFromConfig() ConnectionStringSettings settings = ConfigurationManager.ConnectionStringstestConnectionString; if (settings != null

35、) string connectionString = settings.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 FR

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

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

38、查中使用的值也使用参数来建立。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 命名参数的查询可能如下所示:SELECT BookId, Title, Author, Price from BOOKS WHE

39、RE (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参数集合和参数对象 数据适配器 参数集合 SqlDataAdapt

40、er SqlParameterCollection OleDbDataAdapter OleDbParameterCollection OdbcDataAdapter OdbcParameterCollection OracleDataAdapter OracleParameterCollection 3.9.6插入数据基本方法:使用SQL命令Insert使用DataSet.NewRow()使用DataSet.Merge(DataSet)3.9.7更新数据基本方法:使用SQL命令Update使用SqlDataAdapter.Update() Practice : Session 4-练习23.

41、10使用非连接模式访问数据在ADO.NET 中,尤其是Dataset ,内部已经使用了XML 机制,但是,在XML 的应用方面,它还有更重要的应用,也就是它可以把已有的Dataset数据表,制作成XML 文件,反过来,也可以把现有的文本格式的XML 文件,灌进Dataset中,并对它进行各种处理。这个功能意义是很大的,它意味着,数据的传递可以完全用文本的方式进行,传递更容易而且安全(文本文件的加密实际上更方便),而且,可以轻易的越过防火墙。3.10.1DataSet和XMLXML文档根节点节点节点节点节点节点节点XML文档结构3.10.2XML文档结构3.10.3使用数据适配器填充数据更新数据

42、读写XML文档3.11使用存储过程使用存储过程的好处是性能好,因为它服务器上执行,离数据库最接近,比在C#.NET中使用和发送SQL 语句来操作数据库的速度要快得多。使用存储过程有如下几点好处:允许模块化设计;可以使用参数输入和输出;减少网络流量;更加快速的执行(创造时优化和分析,第一次使用以后,将使用内存版本,一般在数据库端计算)。存储过程被定义以后,将成为数据库的一部分,显示为数据库对象,这就使它非常容易寻找和操纵。存储过程还具有更好的安全性,它可以包装业务逻辑,对应用层隐蔽数据库结构的改变。当然,使用存储过程也可以大大简化客户应用程序的编写。3.12事务使用数据库事务(存储过程)使用AD

43、O.NET的事务(编程)使用分布式事务尽可能使用短事务使用适当的事务隔离级别避免死锁3.12.1使用数据库事务BEGIN TRAN UPDATE Orders SET Freight=Freight Where OrderID=OrderID UPDATE Order Details SET Quantity=QuantityWhere OrderID=OrderIDIF (ERROR 0) ROLLBACK TRANSACTIONELSE COMMIT TRANSACTION3.12.2使用ADO.NET事务SqlConnection conn = new SqlConnection(con

44、nString);SqlTransaction trans = conn.BeginTransaction();try SqlCommand cmd = new SqlCommand(MyWriteProc,conn, trans); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(. . / additional transactioned writes to database trans.Commit(); catch trans.Rollback();3.12.3使用分布式事务using (Transac

45、tionScope scope = new TransactionScope() /. scope.Complete(); Practice : Session 4-练习3在数据库应用程序的开发中,通常需要把数据库中的数据通过绑定技术呈现给用户。通常意义上把数据控件连接到数据源的过程叫做数据绑定。3.13数据邦定描述示例实现 IBindingList 或 ITypedList 的任何类。包括:DataSet、DataTable、DataView 或 DataViewManager。C# 示例: DataSet ds = new DataSet(myDataSet); 实现 IList 以创建对

46、象索引集合的任意类。必须在创建 Binding 对象以前创建和填充该集合。列表中的所有对象必须为同一类型;否则将引发异常。C# 示例: ArrayList ar1 = new ArrayList; Customer1 cust1 = new Customer(Louis); ar1.Add(cust1); 强类型对象的强类型 IList C# 示例: Customer custList = new Customer3; 3.13.1可用的数据源3.13.2Binding类代表某对象属性值和某控件属性值之间的简单绑定。当用 Binding 构造函数构造 Binding 实例时,您必须指定三项:要

47、绑定到的控件属性的名称数据源解析为数据源中的列表或属性的导航路径。导航路径还用于创建对象的 BindingMemberInfo。首先,您必须指定要将数据绑定到其上的控件属性的名称。例如,若要在 TextBox 控件中显示数据,请指定 Text 属性。3.13.3简单邦定支持单一绑定的控件一般一次只显示一个值。例如文本框和单选按钮。3.13.4使用数据绑定控件设置属性调用DataBind方法填充DataSetDataAdapter1.Fill(ds)lstEmployees.DataBind()C#Visual Basic .NET属性描述DataSource包含数据的DataSetDataMemberDataSet中的DataTableDataTextFieldDataTable要显示的域DataValueFieldDataTable要显示的域的值3.13.5绑定数据绑定控件到 DataReader创建数据绑定控件绑定数据绑定控件到 DataReadergrdAuthors.DataSource = drgrdAuthors.DataBind()

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论