《ADO.NET 2.0高级编程》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)Glenn Johnson著;段超译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2006
  • ISBN:7302128669
  • 页数:396 页
图书介绍:本书讲解用ADO.NET开发,主要内容包括:使用跟踪技术来诊断应用程序和性能问题;解决并发冲突;使用托管代码建立存储进程;编写高效数据缓存代码改进应用程序性能等。

目录 1

第1章 ADO.NET非连接类概述 1

1.1 DataTable对象 2

1.1.1 添加DataColumn对象以创建一个模式 2

1.1.2 创建主键列 3

1.1.3 创建用于存储数据的DataRow对象 4

1.1.4 枚举DataTable对象 9

1.1.5 复制和克隆DataTable对象 10

1.1.6 使用DataTable对象处理XML数据 11

1.1.7 将DataView对象作为窗口添加到DataTable对象中 14

1.1.8 使用一个DataSet对象处理大量数据 16

1.1.9 更特殊的类型化DataSet对象 18

1.1.10 使用DataRelation对象导航家族树 19

1.1.11 序列化和解序DataSet对象 22

1.1.12 使用Merge方法合并DataSet数据 30

1.2 使用DataTableReader遍历数据 31

1.3 小结 33

第2章 ADO.NET连接类概述 34

2.1 使用“提供者类”移动数据 34

2.1.1 首先介绍DbConnection对象 35

2.1.2 DbCommand对象 44

2.1.3 DbDataReader对象 48

2.1.4 使用多个活动结果集对单个连接执行多条命令 49

2.1.5 使用SqlBulkCopy对象执行批量复制操作 51

2.1.6 DbDataAdapter对象 52

2.1.7 DbProviderFactory类 57

2.1.8 DbProviderFactories类 60

2.1.9 枚举数据源 62

2.1.10 使用DbException捕获提供者异常 64

2.2 小结 64

第3章 ADO.NET跟踪日志 65

3.1 建立跟踪 65

3.1.1 使用logman.exe实用工具 67

3.1.2 性能日志和警告管理单元 69

3.1.3 使用事件跟踪日志文件 71

3.1.4 使用LogParser实用工具 73

3.1.5 将跟踪用作诊断工具 74

3.2 小结 75

4.1 建立精确的连接字符串 76

第4章 连接到数据存储区(高级主题) 76

4.2 连接池 80

4.2.1 创建和打开连接 80

4.2.2 连接池在哪儿 81

4.2.3 何时创建连接池 82

4.2.4 连接在池中的生存时间是多少 82

4.2.5 超出连接池容量 82

4.2.6 何时关闭连接池 85

4.2.7 清除连接池 86

4.2.8 使用容错恢复技术 88

4.3 异步数据访问 91

4.3.1 同步访问对比异步访问 91

4.3.2 使用SQL Server提供者的统计功能 94

4.4 小结 97

5.1 理解并发问题 98

第6章 使用非连接数据 98

解决并发冲突 99

5.2 设计非连接数据 100

5.2.1 应加载什么数据 101

5.2.2 选择主键 102

5.3 GUID的用法 107

5.3.1 复制/粘贴GUID 107

5.3.2 在非联接表中使用同名的主键列 108

5.3.3 查找数据库中的GUID 108

5.3.4 查找数据库中所有使用GUID的位置 109

5.4 建立冲突解决界面 110

5.4.1 创建项目 110

5.4.2 扩展类型化DataSet类CustomerDataSet 112

5.4.3 扩展TableAdapter类TblCustomerTableAdapter,以导出ContinueUpdateOnError属性 113

5.4.4 使DataSet非连接对象与数据库服务器同步 114

5.4.5 创建冲突解决界面 115

5.4.6 调用冲突解决界面 119

5.4.7 使用冲突解决界面改正并发错误 120

5.4.8 建立一个更好的冲突解决界面 123

5.5 小结 123

第6章 处理关联的非连接数据 124

6.1 导航关系 124

6.2 创建约束 125

6.3 更新数据:引入数据访问层 127

6.3.1 获取关系 128

6.3.2 获取表列 130

6.3.3 排序表列 130

6.3.4 使用OrderedTableList对象执行更新操作 136

6.3.5 测试关联更新 140

6.3.6 关于DAL更新的提示 142

6.4 小结 142

第7章 使用Windows数据网格控件 144

7.1 理解DataGridView控件 144

7.1.1 使用样式进行格式化 145

7.1.2 DataGridView的操作模式 146

7.1.3 绑定数据源 146

7.1.4 资源共享 147

7.1.5 创建DataGridView对象 147

7.1.6 处理单元格事件 149

7.1.7 使用DataGridViewColumn对象 153

7.1.8 使用DataGridViewRow对象 161

7.1.9 实现virtual模式 162

7.2 小结 171

第8章 使用Web数据网格控件 172

8.1 理解GridView控件 172

8.1.1 使用样式进行格式化 174

8.1.2 绑定数据源 174

8.2 创建GridView对象 176

8.2.1 查看HTML源文件中的声明性标记 179

8.2.2 以编程方式创建GridView对象 181

8.2.3 处理GridView对象的事件 186

8.2.4 处理列对象 188

8.3 小结 203

第9章 处理SQLCLR 204

9.1 SQLCLR能否取代T-SQL 204

9.2 不使用Visual Studio创建存储过程 205

9.2.2 创建源代码 206

9.2.1 启用SQLCLR 206

9.2.3 使用上下文对象 207

9.2.4 编译代码 207

9.2.5 加载程序集 207

9.2.6 修改执行权限 208

9.2.7 注册存储过程 209

9.2.8 执行存储过程 209

9.2.9 刷新程序集 209

9.2.10 查看已安装的程序集及其权限 210

9.2.11 使用参数传输数据 210

9.3 使用Visual Studio创建存储过程 212

9.4.1 传递代码中生成的行集数据 214

9.4 传递行集数据 214

9.4.2 传递数据库行集中的数据 220

9.5 创建用户自定义函数 221

9.5.1 使用标量函数 222

9.5.2 使用流表值函数(TVF) 224

9.6 处理用户自定义聚集 227

9.7 处理触发器 230

9.8 处理用户自定义类型 232

9.8.1 何时不使用UDT 237

9.8.2 何时使用UDT 237

9.9 在客户端访问SQLCLR特征 240

9.10 小结 242

10.1 什么是事务 244

10.1.1 并发模型和数据库锁定 244

第10章 理解事务 244

10.1.2 事务的孤立级别 245

10.1.3 单个事务和分布式事务 246

10.2 创建事务 246

10.2.1 使用T-SQL创建事务 247

10.2.2 使用ADO.NET的DbTransaction对象创建事务 247

10.3 设置事务的孤立级别 248

10.4 System.Transactions命名空间 250

10.4.1 使用TransactionScope类创建事务 250

10.4.2 设置事务选项 252

10.4.3 处理分布式事务 253

10.4.4 建立自己的事务资源管理器 257

10.4.5 在SQLCLR中使用System.Transactions命名空间 266

10.6 小结 267

10.5 最佳实践 267

第11章 获取元数据 269

11.1 开始了解元数据 269

11.2 获取元数据集合 272

11.2.1 模式导航 274

11.2.2 导航元数据集合 275

11.2.3 处理约束 276

11.2.4 修改和扩展元数据 282

11.2.5 理解惟一标识符部分 285

11.3 小结 285

第12章 缓存数据以提高性能 286

12.1 使用SqlDependency类 286

12.1.1 缓存哪些数据 286

12.1.3 SqlDependency类的工作机制 287

12.1.2 SqlDependency类是否适合你 287

12.1.4 查询注意事项 289

12.1.5 在SQL Serverk中创建SqlDependency对象 289

12.1.6 使用SqlDependency对象 290

12.1.7 选择通信渠道 292

12.2 ASP.NET SQL缓存无效 293

12.2.1 使用轮流检测技术以使缓存无效 293

12.2.2 在SQL Server上使用轮流检测技术的准备工作 293

12.2.3 创建使用轮流检测技术的Web站点 295

12.2.4 在启用轮流检测技术之前测试该应用程序 295

12.2.5 在Web应用程序中启用轮流检测技术 296

12.2.6 在启用轮流检测技术后测试该应用程序 297

12.2.7 使用命令通知来使缓存无效 298

12.3 小结 300

第13章 实现安全性 302

13.1 应用程序安全性概述 302

13.1.1 身份验证 302

13.1.2 授权 303

13.1.3 身份模拟 304

13.1.4 委派 304

13.1.5 基于角色的安全性 306

13.1.6 代码访问安全性 307

13.2 SQL Server安全性 321

13.2.1 SQL Server身份验证 321

13.2.2 SQL Server授权 323

13.3 ADO.NET安全性 324

13.3.1 支持部分信任 324

13.3.2 在Web应用程序中存储加密的连接字符串 327

13.3.3 防止SQL注入式攻击 329

13.3.4 使用存储过程 335

13.4 小结 335

第14章 处理大型对象 337

14.1 什么是LOB、BLOB和CLOB 337

14.1.1 LOB的存储位置 338

14.1.2 处理LOB 338

14.1.3 读取BLOB数据 338

14.1.4 写入BLOB数据 344

14.2 小结 346

第15章 处理XML数据 347

15.1 介绍XPath和XQuery 347

15.3 xml数据类型 348

15.2 为什么要将XML数据存入SQL Server 2005 348

15.3.1 使用模式集合实现“类型化”xml列 349

15.3.2 获取和修改XML数据 349

15.3.3 建立xml列的索引 350

15.4 开始了解xml数据类型 351

15.4.1 对XPath使用query方法 351

15.4.2 对XQuery使用query方法 357

15.4.3 对XQuery使用exist方法 375

15.4.4 使用modify方法修改数据 376

15.4.5 使用nodes方法修改数据 380

15.4.6 编写xml列的索引 385

15.5 在ADO.NET中使用XML 386

15.6 小结 395