注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计.NETADO.NET 2.0高级程序设计

ADO.NET 2.0高级程序设计

ADO.NET 2.0高级程序设计

定 价:¥59.00

作 者: Sahil Malik;汤涛译
出版社: 人民邮电出版社
丛编项: 图灵原版计算机科学系列
标 签: ADO.NET

购买这本书可以去


ISBN: 9787115158680 出版时间: 2007-04-01 包装: 胶版纸
开本: 16开 页数: 453 字数:  

内容简介

  本书是介绍ADO.NET 2.0的权威参考书,用VB.NET和C#两种语言来描述,详细讲解了与数据库的连接、获取数据以及与事务工作的实际操作,而不是简单重复MSDN的文档。本书提供了深入的理解、全面的观点,还解释了如何用ADO.NET的技术来解决实际问题和搭建应用程序的架构。.本书适用于中、高级的.NET应用开发人员。...

作者简介

  马克利,微软C#MVP,曾经担任许多全球顶级公司的技术顾问。他拥有丰富的编程经验,经历了微软技术从DOS、Win32API、BORLAND VC++/ATL、VB6到VB.NET和C#的变迁。目前他在美国某重要政府机构领导一个前沿技术部门,使用ASP.NET2.0/SQL Server2005构建一个大流量的供共网站。

图书目录

第1章 ADO.NET概述                                                1
1.1 什么是ADO.NET                                                2
1.2 ADO的不足之处                        2
1.3 ADO.NET中的重要对象                        3
1.3.1 连接对象                        3
1.3.2 非连接对象                        4
1.4 .NET数据提供程序                        6
1.4.1 使用ProviderBase模型                        8
1.4.2 第三方.NET数据提供程序                        11
1.5 System.Data.Design命名空间                        12
1.6 小结                                12
第2章 ADO.NET对象模型                                13
2.1 本章可用作参考                        13
2.2 ADO.NET鸟瞰                        14
2.3 建立连接:DbConnection                        14
2.4 执行命令:DbCommand和DbTransaction                        16
2.5 保存非连接数据:DataSet                        19
2.6 获取数据:DataReader和DataAdapter                        21
2.6.1 基于连接的方式获取数据:DbDataReader                        21
2.6.2 连接部分和非连接部分之间的桥梁:DbDataAdapter                        22
2.7 ADO.NET中的异常                        23
2.8 小结                        27
第3章 ADO.NET Hello World程序                        28
3.1 构建Hello World程序的数据源                        28
3.2 创建数据驱动的应用程序:拖放的方法                        29
3.2.1 ASP.NET 2.0中的拖放                        29
3.2.2 Windows窗口应用程序中的拖放                        35
3.3 混合方法:写一些代码,用一些拖放                        39
3.4 数据驱动的应用程序:自己编写代码的方法                        42
3.5 小结                        45
第4章 连接到数据源                        46
4.1 连接的能力                        46
4.1.1 创建连接对象                        47
4.1.2 生成提供程序特定的连接串                        50
4.1.3 编写连接串的简便方法                        52
4.1.4 增强连接串的安全性                        54
4.2 公共行为:IDbConnection                        57
4.3 公共逻辑:DbConnection                        59
4.4 高要求的应用程序                        59
4.5 连接池                        60
4.5.1 工作原理                        62
4.5.2 确定合适的池大小                        63
4.5.3 崩溃的连接池                        64
4.6 关闭连接:良好的应用程序设计                        64
4.7 小结                        65
第5章 在连接模式下获取数据                        66
5.1 与数据源的通信                        66
5.2 获取单个值                        67
5.2.1 要用哪个数据库执行命令                        67
5.2.2 要执行什么                        69
5.2.3 执行命令以获取结果                        70
5.3 获取结果集                        71
5.4 为存储而查询结果集                        76
5.5 异步查询大结果集                        78
5.6 从数据库查询多个结果集                        82
5.7 面向对象与关系表示                        85
5.7.1 在数据库中存储对象                        85
5.7.2 使用SQL查询UDT数据                        90
5.7.3 以连接模式获取UDT数据                        91
5.7.4 实际使用UDT                        92
5.8 小结                        92
第6章 DataSet                        93
6.1 非连接模型的案例                        93
6.2 DataSet对象模型                        95
6.2.1 DataTable                        96
6.2.2 DataColumn                        97
6.2.3 DataRow                        98
6.2.4 Constraint                        99
6.2.5 设置主键:PrimaryKey属性                        100
6.2.6 动态构建DataTable                        100
6.2.7 DataTable的事件                        103
6.2.8 DataTable事件的实际用法                        104
6.3 关系数据                        108
6.4 把所有内容放到一起                        111
6.5 作为数据传输对象的DataSet                        117
6.6 强类型DataSet:概述                        122
6.6.1 XSD概要                        123
6.6.2 DataSet架构                        131
6.6.3 构建强类型DataSet                        139
6.6.4 类型化DataSet的性能                        147
6.6.5 注释类型化DataSet                        147
6.7 小结                        153
第7章 获取数据:DataAdapter                        154
7.1 什么是DataAdaper                        154
7.2 使用DataAdapter                        156
7.2.1 构建数据源                        156
7.2.2 查询数据表:指向并且点击                        157
7.2.3 查询数据表:编写代码                        160
7.2.4 填充DataSet:不止一个数据表                        164
7.2.5 查询数据库架构                        169
7.3 映射                        175
7.3.1 使用SQL的AS关键字                        175
7.3.2 ADO.NET的映射机制                        177
7.4 小结                        182
第8章 排序、获取和过滤                        183
8.1 构建数据源                        184
8.2 处理DataTable                        185
8.2.1 查找行                        186
8.2.2 选定多行记录                        188
8.2.3 表达式:动态计算列                        190
8.2.4 执行聚合计算                        193
8.3 使用DataRelation对象                        195
8.4 使用DataView对象                        199
8.5 XML与非连接数据的交互                        206
8.6 小结                        209
第9章 更新数据                        210
9.1 更新数据表:简单拖放方法                        211
9.2 使用命令构建器对象                        224
9.3 DataRow中的状态管理以及在更新数据时状态管理的使用                        227
9.4 移动大量的数据:SqlBulkCopy                        236
9.5 编辑非连接数据                        238
9.5.1 添加新行                        238
9.5.2 修改现存行记录                        239
9.5.3 删除现存行记录                        240
9.6 实际的例子                        242
9.7 优化应用程序:GetChanges和Merge                        252
9.7.1 合并情况1:相同表结构,无主键                        258
9.7.2 合并情况2:相同表结构,有主键                        259
9.7.3 合并情况3:公共列,无主键                        261
9.7.4 合并情况4:公共列,有主键                        262
9.7.5 合并情况5:完全不同的表结构                        263
9.7.6 合并具有不同架构的两个DataSet/DataTable                        265
9.8 使用映射名称更新记录                        266
9.9 小结                        273
第10章 更新数据:高级进阶                        275
10.1 冲突检测和并发解决                        276
10.1.1 预防冲突:交通信号灯                        276
10.1.2 处理冲突:事故发生后再抢救                        277
10.2 实现并发:实践所关心的内容                        284
10.2.1 Null值                        284
10.2.2 所影响的行数和触发器                        285
10.2.3 更新多行记录                        285
10.3 处理层次结构数据                        286
10.3.1 插入层次结构的数据                        289
10.3.2 更新层次化数据                        297
10.3.3 删除层次化数据                        297
10.3.4 所有的操作集中到一起:保存层次化数据                        298
10.3.5 代码不能用                        301
10.4 层次化更新:结论                        302
10.5 小结                        302
第11章 事务                        304
11.1 什么是事务                        305
11.1.1 ACID属性                        305
11.1.2 数据库事务                        306
11.1.3 事务词汇表                        307
11.2 ADO.NET的事务支持                        307
11.3 编写事务性数据库应用程序                        310
11.3.1 实现事务                        311
11.3.2 考察隔离级别的效果                        317
11.3.3 MARS                        324
11.3.4 MARS和事务                        327
11.4 单数据库的高级技术                        331
11.4.1 保存点                        331
11.4.2 嵌套事务                        334
11.4.3 与DataSet和DataAdapter一起使用事务                        334
11.5 分布式事务                        337
11.5.1 分布式事务中的关键方:RM和DTC                        337
11.5.2 两阶段提交                        338
11.5.3 实现分布式事务:.NET 1.1的方法                        338
11.5.4 实现分布式事务:.NET 2.0的方法                        342
11.5.5 可提升登记:简单基础                        345
11.5.6 System.Transactions:手动登记和多线程环境                        347
11.6 明智地使用事务                        351
11.6.1 事务和性能                        352
11.6.2 事务的默认行为                        352
11.6.3 事务和用户确认                        352
11.6.4 同时发生的ADO.NET和RDBMS事务                        353
11.7 小结                        353
第12章 XML和ADO.NET                        354
12.1 SQL Server本机XML支持                        354
12.2 FOR XML                        355
12.2.1 FOR XML查询:概要                        356
12.2.2 FOR XML的可选参数                        359
12.2.3 FOR XML RAW                        360
12.2.4 FOR XML AUTO                        360
12.2.5 FOR XML EXPLICIT                        362
12.2.6 SQL Server 2005和FOR XML PATH                        371
12.2.7 在ADO.NET中使用FOR XML查询                        373
12.3 OPENXML                        376
12.4 SQL Server 2005独有的XML数据类型                        381
12.5 利用SQL Server的XML功能:SQLXML                        384
12.5.1 SQLXML和ADO.NET                        384
12.5.2 SQLXML对象模型                        385
12.6 小结                        396
第13章 SQL Server中的CLR                        397
13.1 SQLCLR的正确使用                        398
13.2 运行本章例子所需软件                        400
13.3 手动编写UDF                        401
13.4 SQL Server项目的UDF                        403
13.5 调试SQLCLR代码                        406
13.6 编写TVF:表值函数                        408
13.7 创建聚合函数                        419
13.8 编写SQLCLR存储过程                        425
13.8.1 上下文连接                        425
13.8.2 SQLCLR中的SqlTransaction                        434
13.9 在SQLCLR触发器中使用事务                        435
13.10 在SQLCLR内使用非上下文连接                        437
13.11 小结                        440
第14章 ADO.NET最佳实践                        441
14.1 了解你的系统需求                        441
14.2 为正确的工作选择正确的工具                        442
14.2.1 DataReader或DataSet/ DataAdapter                        443
14.2.2 保持连接打开:连接池                        444
14.2.3 DataSet或强类型DataSet                        444
14.2.4 强类型或非强类型?DataSet与业务对象                        445
14.2.5 T-SQL与SQLCLR以及扩展存储过程(XP)                        447
14.2.6 事务,到处是事务:选择哪种事务                        448
14.3 重要规则                        449
14.3.1 实现数据层                        449
14.3.2 关闭连接                        449
14.3.3 网络延迟                        451
14.3.4 复杂的层次化DataSet                        451
14.3.5 缓存数据                        452
14.4 小结                        453

本目录推荐