本书由著名的资深开发人员和技术顾问Michael Otey和Denielle Otey编写。书中详尽的资源可以帮助您解决Web和分布式应用程序的数据访问问题。书中列举了在各种应用场合使用0rocale、SQL Server和其他数据库数据的许多实例。学完本书后, 您将理解如何使用.NET Data Provider连接数据源,如何使用DataSet更新数据,如何将数据与XML文档集成以及如何处理XML模式。书中还讲述了怎样解决ADO和ADO.NET的共存问题,以及如何编辑数据、连接数据源和提交更新数据。无论您的经验水平如何,这本由专家编写的、无所不包的指南都是您理解和使用ADO.NET不可或缺的资源。
·更加有效地解决应用程序数据访问问题
·全面讲述所有的ADO.NET对象
·学习VB.NET和C#示例代码
·使用.NET Data Provider建立数据库连接
·使用DataView排序和过滤DataSet中的数据
·使用Command对象执行SQL语句和存储过程
·使用DataReader检索结果集
·创建DataSet和强类型的DataSet
·使用XML构建应用程序互操作性
第I部分 ADO.NET基本概念
第1章 ADO.NET简介
1.1 Microsoft的数据访问技术
1.2 .NET Framework
1.3 小结
第2章 理解.NET Framework
2.1 .NET的系统要求
2.2 .NET体系结构
2.3 程序集
2.4 小结
第3章 ADO.NET体系结构
3.1 ADO.NET命名空间
3.2 .NET数据提供者
3.3 ADO.NET System.Data命名空间中的核心类
3.4 小结
第II部分 ADO.NET Connection对象
第4章 SQL Server的数据提供者
4.1 使用.NET Framework Data Provider for SQL Server进行连接
4.2 小结
第5章 使用.NET Framework Data Provider for Oracle
5.1使用.NET Framework Data Provider for Oracle进行连接
5.2 小结
第6章 使用.NET Framework Data Provider for OLE DB
6.1使用.NET Framework Data Provider for OLE DB进行连接
6.2 小结
第7章 使用.NET Framework Data Provider for ODBC
7.1 使用ODBC .NET Data Provider进行连接
7.2 创建ODBC数据源
7.3 小结
第III部分 ADO.NET Command对象
第8章 使用SqlCormmand对象
8.1 使用SqlCommand对象执行SQL语句和存储过程
8.2 小结
第9章 使用OracleCommand对象
9.1 使用OracleCommand对象执行SQL语句和存储过程
9.2 小结
第10章 使用OleDbCommand对象
10.1 使用OleDbCommand对象执行SQL语句和存储过程
10.2 小结
第11章 使用OdbcCommand对象
11.1 使用OdbcCommand对象执行SQL命令和存储过程
11.2 小结
第IV部分 ADO.NET DataReader对象
第12章 使用SqlDataReader
12.1使用SqlDataReader
12.2 小结
第13章 使用OracleDataReader
13.1使用OracleDataReader
13.2 小结
第14章 使用OleDataReader
14.1使用OleDataReader
14.2 小结
第15章 使用OdbcDataReader
15.1使用OdbcDataReader
15.2 小结
第V部分 ADO.NET的DataSet对象
第16章 构建DataSet
16.1 创建DataSet
16.2 创建强类型化的DataSet
16.3 小结
第17章 使用SqlDataAdapter填充DataSet
17.1 使用SqlDataAdapter
17.2 小结
第18章 使用OracleDataAdapter填充DataSet
18.1 使用OracleDataAdapter
18.2 小结
第19章 使用OleDbDataAdapter填充DataSet
19.1 使用OleDbDataAdapter
19.2 小结
第20章 使用OdbcDataAdapter填充DataSet
20.1 使用OdbcDataAdapter
20.2 小结
第21章 使用多个表和DataAdapter填充DataSet
21.1 使用多个表填充DataSet
21.2 使用多个DataAdapter填充DataSet
21.3 小结
第22章 使用Windows数据绑定窗体控件浏览DataSet
22.1 使用Windows数据绑定控件浏览数据
22.2 小结
第23章 使用DataView浏览DataSet
23.1 使用DataView类浏览数据
23.2 小结
第24章 使用DataRelation浏览DataSet
24.1 使用DataRelation类浏览数据
24.2 小结
第25章 使用SqlDataAdapter更新数据库
25.1使用SqlDataAdapter更新数据库
25.2 小结
第26章 使用OracleDataAdapter更新数据库
26.1 使用OracleDataAdapter更新数据库
26.2 小结
第27章 使用OleDbDataAdapter更新数据库
27.1 使用OleDbDataAdapter
27.2 小结
第28章 使用OdbcDataAdapter更新数据库
28.1 使用OdbcDataAdapter
28.2 小结
第29章 高级的数据库更新技术
29.1 高级的数据库更新技术
29.2 小结
第VI部分 ADO.NET数据集成
第30章 把数据映射为XML
30.1 XML入门
30.2 XML和ADO.NET
30.3 使用XmlReader
30.4 使用DataSet和XML
30.5 小结
第31章 在ADO.NET中使用ADO
31.1 把ADO导入.NET Framework
31.2 小结
第VII部分 附录
附录A System.Data命名空间参考
附录B System.Data.Common命名空间参考
附录C System.Data.Odbc命名空间参考
附录D System.Data.OleDb命名空间参考
附录E System.Data.OracleClient命名空间参考
附录F System.Data.SqlClient命名空间参考
无论您是否熟悉ADO.NET或具有相关工作经验,本书都将为您提供关于数据访问的重要内容。ADO.NET的初学者可以通过基础概念部分的学习,为构建更复杂的数据访问打下坚实的基础,而高级专题和详尽的ADO.NET类参考文档对于经验丰富的开发者来说更是无价之宝。
本书共分为7个部分,描述了ADO.NET的核心特征和数据对象。首先介绍了ADO.NET的基础内容,描述了数据访问技术的发展史,以及ADO.NET如何解决以前的数据访问方法中存在的一些难题。随后的4个部分深入描述了主要的ADO.NET对象,以及应如何运用这些对象。这些部分通过在VisualStudio.NET开发环境中使用可视化的ADO.NET对象,指导您进行快速、简单的数据操作;同时也介绍了如何在程序代码中使用ADO.NET类,使应用程序更灵活多变,能够应付那些需要更多高级数据访问技术的复杂情况。第Ⅵ部分解释了XML和ADO数据集成,附录则提供了ADO.NET中命名空间(namespace)的完整、全面的参考资料。下面简要介绍本书各部分的内容。
第I部分——ADO.NET基本概念 本部分介绍了数据访问技术的历史概况和ADO.NET的大致情况,然后进一步讨论了对.NET Framework的理解并概述了完整的ADO.NET体系结构。第1章回顾了ADO.NET之前的数据访问技术,如DAO、RDO、ODBC和ADO等知识。我们应该了解ADO.NET是如何解决过去的数据访问方法中的缺陷的,这将有助于更高效地使用ADO.NET。在编写一个稳健的应用程序时,了解系统的需求是十分必要的,第2章介绍了与之相关的内容。还阐述了.NET体系结构与.NET Framework类库方面的知识, 以及用于构建ADO.NET的托管代码平台的相关知识。第3章详细描述了ADO.NET体系结构,并扼要介绍了ADO.NET中使用的类。该章还介绍了.NET Data Provider提供的一些ADO.NET类,这些类允许您访问正在使用的、特定的后端数据资源。这一章里还列举了用于处理数据并且适用于任意数据库的通用ADO.NET类。
第Ⅱ部分——ADO.NET Connection对象 这一部分主要描述了ADO.NET中的Connection对象,每一个.NET Data Provider都包含该对象。Connection对象是打开数据资源的主要链接,所有.NET Data Provider都包含一个Connection对象,用来优化到特定数据库的链接。本部分的每一章都使用一个不同的.NET Data Provider的Connection对象,以展示不同.NET Data Provider使用的连接技术。这一部分探究了打开可信连接、使用一个UDL文件连接数据库、无DSN连接、以及启用连接池等技术。这些连接数据源的方法可以适用于任何Connection对象。例如,第4章介绍了如何使用SqlConnection对象打开信任连接,但也可以使用OracleConnection对象、OleDbConnection对象或OdbcConnection对象打开信任连接。我们分别列出了一些.NET Data Provider的对象,通过完整的例子来展示连接到不同数据源时存在的一些语法差异。
第Ⅲ部分——ADO.NET Command对象 像ADO.NET的Connection对象一样,每一个.NET Data Provider都包含自己的Command对象。应用程序经常进行的一些数据库操作,包括执行SQL语句和执行存储过程。这一部分中的章节不仅演示了动态SQL查询,而且演示了如何使用.NET Data Provider的Command对象执行参数化查询。此外还阐述了一些包含返回值和输出参数且使用Command对象的存储过程,并介绍了.NET Data Provider的Parameter类和数据源特定的参数标记符号的用法。这一部分中还描述了与事务相关的知识——事务允许您把多项操作集合在一起,作为一个单元执行。您将了解如何综合利用.NET Data Provider的Transaction类和Command类来确保数据库的完整性。这一部分中描述的Command类、Parameter类和Transaction类方法适用于所有.NET Data Provider的Command、Parameter或Transaction类。
第Ⅳ部分——ADO.NET Data Reader对象 本部分介绍了ADO.NET的DataReader对象。DataReader对象可快速检索只向前(forward-only)的结果集。此处再次强调,每个.NET Data Provider都要提供自己的DataReader和方法,并且在每章中描述的方法适用于其他.NET Data Provider的DataReader对象。这一部分还列举了返回只向前的结果集、多结果集和层次化结果集的例子。当需要详细的表模式信息时,DataReader可用来检索仅包含模式(schema-only)的信息。另外,这一部分也讲述了如何填充DataSet和检索Binary Large Object(BLOB,二进制大型对象)的方法,了解它们是非常有用的。
第V部分——ADO.NET DataSet对象 ADO.NET的DataSet对象是ADO.NET应用程序的核心对象。DataSet类实质上是一个保存在内存中的数据库。这一部分的第16章讨论了如何构建DataSet以及组成DataSet对象元素的通用.NET Framework类,包括DataTable、DataColumn、DataRow、DataRelation、DataView类以及Unique和ForeignKey约束。后续的章节转而介绍重要的DataAdapter类。DataAdapter是一种机制,决定数据源中哪些数据应当被加载到DataSet,并决定DataSet信息在经过改动后,哪些信息会被回送到数据库中。DataAdapter与不同的数据源交互,因此每个.NET Data Provider都需要提供自己的DataAdapter类。第17—21章介绍了如何使用不同.NET Data Provider中的DataAdapter在不同的数据源中构建DataSet,而且,这几个章节中使用的方法适用于任何DataAdapter。另外,该部分还介绍了如何使用DataAdapter与SQL语句或存储过程向DataSet加载数据,同时还介绍了如何使用多个DataAdapter将多个数据源中的数据填充到DataSet。一旦将数据加载到DataSet中,您就可以浏览、搜索、分类或选择记录并执行更新操作。第22~24章中描述了这些数据的浏览方法和特征。在使用完DataSet中的信息后,需要将所做更改写回到数据源。第25~28章演示了通过DataAdapter类使用DataSet中的数据更新数据库的方法。这里再次强调,每一章中使用的、由.NET Data Provider提供的DataAdapter的更新数据库技术适用于任何DataAdapter类。这些章节中演示了如何使用自定义更新命令来更新数据源,以及如何使用CommandBuilder类自动生成更新命令。该部分随后介绍了DataForm Wizard的使用方法,通过DataForm Wizard能够快速地创建简单的数据绑定Windows窗体。这里还介绍了如何使用参数和存储过程,以及如何选择具有某种更新类型的行()口仅选择已插入的记录),以便以特定的顺序更新数据库。第29章是该部分的最后一章,描述了一些高级更新技巧和方法,主要包括合并DataSet、使用Autolncrement字段、检测DataSet的错误、以及在将DataSet行发送回数据库前决定是对其执行Accepting操作还是Rejecting操作。
第Ⅵ部分——ADO.NET数据集成 本部分阐述了如何运用ADO.NET、将数据映射到XML以及同时使用ADO和ADO.NET的情况。第30章提供了关于XML术语、XML文档和组成部分的总体介绍,并且讲述了如何在ADO.NET Framework中运用XML。这一章中描述了XML Reader类、XML DiffGram、XPath查询语言,以及XSL T/L。第31章讨论了如何将基于COM的ADO对象导入到.NET Framework中。在这里,您将会了解到如何在ADO.NET中使用ADO记录集,并且学会处理同时使用ADO和ADO.NET时某些共存的问题。
第Ⅶ部分——附录 本部分包含了附录A到附录F。这些附录为ADO.NET各种命名空间提供了详细的参考信息,阐述了各种命名空间中所需的类、委托、枚举和接口,并提供了代码示例。这些命名空间的参考资料主要与ADO.NET对象相关,并且经过特别编排,高效、易于读者使用。此外,该部分还为每个类对象构造函数提供了完整的C#代码示例,可以给您一些提示,从而帮助您快速生成正确的程序代码。
Web资源 可以在Osborne/McGraw-Hill的Web站点下载本书提供的所有应用程序代码。您可以在脱机情况下直接执行这些可执行程序和源代码。可以在www.osborne.com站点搜索ADO.NET: The Complete Reference,以下载相关代码。另外,通过剪切并粘贴示例程序,可以帮助您快速开发自己的ADO.NET应用程序。