本书是一本专门介绍Microsoft ADO.NET 2.0的基本功能和新特性的技术参考书。全书分为15章,主要讲解ADO.NET非连接类、ADO.NET连接类、日志跟踪、数据连接的高级主题、并发冲突、数据网格控件、事务、元数据、ADO.NET安全性等一系列重要问题。全书结构严密、层次清晰,并且以浅显易懂的语言描述了较为复杂的数据访问问题,在讨论各种数据访问主题的同时,对多个可能的解决方案进行了比较分析,以突出它们各自的优缺点,并相应地提供一定的示例和源代码,以帮助读者理解掌握。\r\n 本书作者长期担任Tyco国际公司的信息技术和技术支持主管,并拥有多年教授.NET技术的工作经验,无论是进行专业技术培训还是进行学历教育,均有非常高的造诣。本书内容新颖,编排合理,论述清晰,是一本介绍数据访问技术的理想教材。本书适用于那些对使用数据库存储数据的需求已经理解,并拥有一定ADO使用经验的读者。
第1章 ADO.NET非连接类概述\r\n 1.1 DataTable对象\r\n 1.2 使用DataTableReader遍历数据\r\n 1.3 小结\r\n第2章 ADO.NET连接类概述\r\n 2.1 使用“提供者类”移动数据\r\n 2.2 小结\r\n第3章 ADO.NET跟踪日志\r\n 3.1 建立跟踪\r\n 3.2 小结\r\n第4章 连接到数据存储区(高级主题)\r\n 4.1 建立精确的连接字符串\r\n 4.2 连接池\r\n 4.3 异步数据访问 \r\n 4.4 小结\r\n第6章 使用非连接数据\r\n 5.1 理解并发问题 \r\n 解决并发冲突\r\n 5.2 设计非连接数据\r\n 5.3 GUID的用法\r\n 5.4 建立冲突解决界面\r\n 5.5 小结\r\n第6章 处理关联的非连接数据\r\n 6.1 导航关系\r\n 6.2 创建约束\r\n 6.3 更新数据:引入数据访问层\r\n 6.4 小结\r\n第7章 使用Windows数据网格控件\r\n 7.1 理解DataGridView控件\r\n 7.2 小结\r\n第8章 使用Web数据网格控件 \r\n 8.1 理解GridView控件\r\n 8.2 创建GridView对象\r\n 8.3 小结\r\n第9章 处理SQLCLR\r\n 9.1 SQLCLR能否取代T-SQL\r\n 9.2 不使用Visual Studio创建存储过程\r\n 9.3 使用Visual Studio创建存储过程 \r\n 9.4 传递行集数据 \r\n 9.5 创建用户自定义函数\r\n 9.6 处理用户自定义聚集\r\n 9.7 处理触发器\r\n 9.8 处理用户自定义类型\r\n 9.9 在客户端访问SQLCLR特征\r\n 9.10 小结\r\n第10章 理解事务\r\n 10.1 什么是事务\r\n 10.2 创建事务\r\n 10.3 设置事务的孤立级别\r\n 10.4 System.Transactions命名空间\r\n 10.5 最佳实践 \r\n 10.6 小结 \r\n第11章 获取元数据\r\n 11.1 开始了解元数据\r\n 11.2 获取元数据集合\r\n 11.3 小结\r\n第12章 缓存数据以提高性能\r\n 12.1 使用SqlDependency类\r\n 12.2 ASP.NET SQL缓存无效\r\n 12.3 小结\r\n第13章 实现安全性\r\n 13.1 应用程序安全性概述\r\n 13.2 SQL Server安全性\r\n 13.3 ADO.NET安全性\r\n 13.4 小结\r\n第14章 处理大型对象\r\n 14.1 什么是LOB、BLOB和CLOB\r\n 14.2 小结\r\n第15章 处理XML数据\r\n 15.1 介绍XPath和XQuery \r\n 15.2 为什么要将XML数据存入 SQL Server 2005 \r\n 15.3 xml数据类型\r\n 15.4 开始了解xml数据类型\r\n 15.5 在ADO.NET中使用XML\r\n 15.6 小结
《微软技术丛书》序
———Ready to Rock 撼动未来,您准备好了吗
“宝剑锋从磨砺出,梅花香自苦寒来”。历经五载精心打造的微软新一代企业级应用平台终于在2005年底,在全球各地开发人员的期待中走到前台。在Visual Studio 2005,SQL Server 2005和Biztalk 2006中国地区新品发布会上,“Ready to Rock撼动未来”这几个醒目的标识,炫目的产品演示、成功案例探讨,着实让现场所有与会者思潮澎湃,激情飞扬。
Visual Studio 2005是企业级开发管理工具,也是Visual Studio产品发布十年来最具有革命意义的一次升级,它为广大开发人员展示了广阔的发展前景和超前的设计体验。它有很多令人耳目一新的新功能。针对不同层次的开发人员,从新手到企业架构师、开发人员和测试人员,Visual Studio 2005提供了可定制的高生产力的开发工具。这些工具能确保软件开发团队减少开发的复杂程度,促进开发过程中成员之间更好的沟通和协作。微软为Visual Studio 2005 Express Edition提供一年期的免费下载。全球已经有500多万开发人员在使用这个版本。Visual Studio Express Edition全系列产品包括Visual Web Developer、Visual Basic Express、Visual C# Express、Visual C++ Express以及Visual J# Express。
SQL Server作为数据管理分析平台和数据库开发工具,在开发人员当中一直具有良好的口碑。SQL Server 2005是一套全新的管理工具包,它的优点不胜枚举,其中最突出的三点是商务智能(BI)、可编程性和安全性。在商务智能方面,集成数据整合、分析和报表功能,能提供更好的决策支持;提供一种新的数据模型,用于简化异源数据间的连通性问题;提供对XML/A(一种OLEDB的可选方案)的集成支持;提供的数据挖掘工具更成熟。在可编程方面,SQL Server 2005更好地实现了与Visual Studio .NET的集成,它将CLR直接植入数据库引擎,使开发人员能够用Visual Basic .NET或C#之类的语言直接为SQL Server编写程序,从而实现了与微软.NET应用程序架构的紧密协作。在安全性方面,它固有的数据加密、默认安全设置以及强制口令策略功能,足以让开发人员以更高的性能、更高的可用性和更高的安全性运行任何应用。SQL Server 2005 Express Edition也可以免费下载,它提供强大而易用的数据库支持,并与其他Express产品互为补充。
BizTalk 2006是应用中间件,是对微软现有组件的一次升级。它可以适配不同的套装应用软件,其中包括甲骨文eBusiness 套件,仁科软件以及Siebel的产品。它的重点是自动化工作流程,用于收集和处理来自射频ID读卡机的数据信息。
针对这三款重量级产品,微软在今年3月全面推出新生代微软认证。更专业的MCTS、MCITP、MCPD三类新型认证,就是针对Visual Studio 2005、SQL Server 2005、BizTalk 2006来展开的。这三类新型认证又划分许多子认证,如下所示:
1. 认证技术专家(MCTS)证书:
MCTS: SQL Server 2005
MCTS: BizTalk Server 2006
MCTS: .NET Framework 2.0 Web Applications
MCTS: .NET Framework 2.0 Windows Applications
MCTS: .NET Framework 2.0 Distributed Applications
2. 认证IT专家(MCITP)证书:
MCITP: Database Administrator
MCITP: Database Developer
MCITP: Business Intelligence Developer
3. 认证专业开发员(MCPD)证书:
MCPD: Web Developer
MCPD: Windows Developer
MCPD: Enterprise Applications Developer
新认证对于数据库和开发专业方面提出了更高的要求。为配合国内读者认证的需求,我们从微软出版社引进了这套《微软技术丛书》
Glenn Johnson是一名培训专家,具有丰富的教学经验,他主讲过COBOL和汇编语言,还教过Novell和Microsoft.NET技术。他开发过课件,并在全球各地讲过Micorosoft ASP.NET,ADO.NET,C#和.NET课程。
他曾担任Tyco国际集团的信息技术和技术支持总管。目前主要着眼于开展自己的培训、咨询和开发业务。
前 言
Microsoft ADO.NET 2.0主要改进了数据访问功能。大家将会发现,Microsoft Visual Studio 6.0中内置的原有ADO版本与Visual Studio 2005中的ADO.NET 2.0在对象模型上并没有多少相同之处。ADO.NET 2.0对原有的ADO进行了大量的改进,它通过减少代码的编写量来简化开发过程,并且提供新的功能以使大家能够编写出更加独立于数据库的代码,这意味着即使不了解所使用的数据库服务器,依然能够编写出数据访问代码。
本书深入地讨论了ADO.NET原有和新增的特性在当前ADO版本中的高级实现。复杂的问题通常不止一个解决方案,因此本书将比较、分析多个可能的解决方案,以突出它们各自的优缺点。
本书适用对象
尽管本书讨论的是高级主题,但读者不必是高级程序员,只要具备坚实的编程技能,并能熟练地使用Visual Studio即可。每章开头都会首先阐述本章所要讨论的主题内容。为帮助大家理解本书后面介绍的主题,前两章简要地概述了ADO.NET类。本书适合那些理解了使用数据库存储数据的需求并具备一定ADO使用经验的读者。
如果读者已经熟悉某章的内容,则可以根据自己的实际情况跳过该章。
本书的组织
本书是一本为数据处理提供建议和解决方案的参考书,但是各章的主题紧密相关,因此建议大家依次地学习各章,以全面地了解本书的内容。在学习某个章节的主题时,可以参照其他章节的内容,以加深对该章主题的理解。
约定
本书使用大写字母的形式表示结构化查询语言(SQL),诸如WHERE子句。
Microsoft Visual Basic和C#代码示例的格式如下:
Visual Basic
Visual Basic version of cool code here
C#
C# version of cool code here
本书以屏幕截图的形式显示程序的输出结果或只供阅读的代码(即不用于输入的代码),如下所示:
示范输出
Item Cost
1 123.45
2 2.99
3 83.21
4 543.56
系统需求
为生成和运行本书中的示例代码,需要以下硬件和软件:
Microsoft Windows XP Professional (SP2)、Windows Server 2003(SP1)或Windows 2000(SP4)。
Visual Studio 2005 Standard版或Professional版本(运行第9章的示例代码需要Professional版本)。
Microsoft SQL Server 2005 Express(内置于Visual Studio 2005中)和/或Microsoft SQL Server 2005(请参见下一节)。
600 MHz Pentium或兼容的处理器(推荐1 GHz Pentium处理器)。
192 MB RAM(推荐256 MB或更高的内存配置)。
800×600或更高分辨率、256色的视频显示器(推荐使用1024×768分辨率、16位增强色)。
DVD-ROM光驱。
Microsoft鼠标或兼容的定位设备。
SQL Server 2005与SQL Server 2005 Express Edition的对比
本书尽可能使用SQL Server 2005 Express版本(SQL Server Express),因为它更好使用。此外,SQL Server Express更易于创建良好的示例,因为只需将数据库文件包含在项目中。有些章节使用SQL Server 2005,因为SQL Server Express不支持这些章节所讨论的特性,或者这些特性更易于在SQL Server 2005中使用。
下表使用以下符号表示示例代码中使用哪种版本的SQL Server 2005:
N/A 不可用;数据库访问不需要。
Yes 用于代码示例中。
No 不用于代码示例中。
Possible 可以在另一个版本中使用,但需要修改连接字符串。
示例代码所用的SQL Server版本
章节和主题 SQL Server 2005 SQL Server 2005 Express
1:ADO.NET非连接类概述 N/A N/A
2:ADO.NET连接类概述 Yes,Possible Yes,Possible
3:ADO.NET跟踪日志 Yes No
4:连接数据存储区的高级主题
a. ConnectionStringBuilder
b. 异步访问
c. 连接池/备用数据库
d. StatisticsTest
a. Possible
b. Yes
c. Yes
d. Possible
a. Yes
b. Possible
c. No
d. Yes
5:处理非连接数据 Possible Yes
续表
章节和主题 SQL Server 2005 SQL Server 2005 Express
6:处理关联的非连接数据 Possible Yes
7:使用Windows 数据网格控件 Possible Yes
8:使用Web数据网格控件 Possible Yes
9:使用SQLCLR Yes No
10:理解事务 Possible Yes
11:获取元数据 Possible Yes
12:缓存数据以提高性能
a. SqlDependency
b. SqlCacheDependency
c. CommandNotification
a. Yes
b. Yes
c. Yes
a. No
b. Possible
c. No
13:实现安全性
a. 安全性
b. PartialTrust
c. EncryptedWebSite
d. Sqllnjection
a. N/A
b. Possible
c. Possible
d. Possible
a. N/A
b. Yes
c. Yes
d. Yes
14:使用大型对象(LOB、BLOB和CLOB) Possible Yes
15:使用XML数据 Possible Yes
配置SQL Server 2005 Express版本
本书需要使用SQL Server 2005 Express版本(和/或SQL Server 2005)以创建和使用Northwind Traders和Pubs示例数据库。如果使用的是SQL Server 2005 Express,则以Administrator登录计算机,然后遵循以下步骤以获得用于执行练习的用户帐号。
1. 选中“启动”|“所有程序”|“附件”|“命令提示符”,以打开一个命令提示符窗口。
2. 在命令提示符窗口中,输入如下命令:
sqlcmd –S YourServer\SQLExpress –E
将YourServer替换为计算机名。在运行sqlcmd命令之前,在命令提示符窗口中运行hostname命令以获得计算机名。
3. 在1>提示符处,输入如下命令(包括方括号),然后按回车:
SP_GRANTLOGIN [YourServer\UserName]
将YourServer替换为计算机名,将UserName替换为所使用的用户帐号。
4. 在2>提示符处,输入如下命令,然后按回车:
GO
如果显示错误消息,则确认输入的SP_GRANTLOGIN命令(包括方括号)是否正确。
5. 在1>提示符处,输入如下命令(包括方括号),然后按回车:
SP_ADDSRVROLEMEMBER [YourServer\UserName],dbcreator
6. 在2>提示符处,输入如下命令,然后按回车:
GO
如果显示错误消息,则确认输入的SP_ADDSRVROLEMEMBER命令(包括方括号)是否正确。
7. 在1>提示符处,输入如下命令,然后按回车:
EXIT
8. 关闭命令提示符窗口。
软件须知
本书期望能够完全兼容最终发布的Visual Studio 2005和SQL Server 2005。如果本书存在任何修改或修订,将在Microsoft Knowledge Base文章中公布。请参见后面的“支持信息”小节,以获得更多相关的信息。
技术更新
在更新本书相关的技术时,将在Microsoft Press Technology Updates Web上添加相应的信息链接。定期访问如下网址,以获取有关Visual Studio 2005和其他技术的更新信息:
http://www.microsoft.com/mspress/updates/
代码示例
本书所讨论的所有代码示例都可以从如下网址中与本书相关的内容
无封面