第1章 以数据为中心的应用程序和ADO.NET 1
1.1 设计以数据为中心的应用程序 1
1.1.1 数据存储 1
1.1.2 连接环境 2
1.1.3 非连接环境 2
1.1.4 数据访问应用模型 12
1.2 ADO.NET架构 14
1.2.1 ADO.NET简介 14
1.2.2 与数据相关的命名空间 15
1.2.3 从ADO到ADO.NET 17
1.2.4 ADO.NET对象模型 18
1.2.5 在连接环境中使用ADO.NET 18
1.2.6 在非连接环境中使用ADO.NET 20
1.3 ADO.NET与XML 21
习题 23
实验 以数据为中心的应用程序与ADO.NET 24
练习1 为ASP.NET Web应用程序添加ADO.NET对象 25
练习2 执行查询并显示查询结果 27
第2章 连接数据源 30
2.1 选择.NET数据提供程序 30
2.1.1.NET数据提供程序简介 30
2.1.2.NET数据提供程序类 31
2.1.3 选择.NET数据提供程序 32
2.2 定义连接 35
2.2.1 数据库安全性 35
2.2.2 连接字符串的概念 36
2.2.3 连接字符串的设置 37
2.2.4 在服务器资源管理器中使用连接 44
2.3 管理连接 46
2.3.1 打开和关闭连接 47
2.3.2 处理连接事件 48
2.4 处理连接的异常 52
2.4.1 结构化异常处理 52
2.4.2 处理SqlException 54
2.4.3 处理InfoMessage事件 59
2.5 连接池 60
2.5.1 连接池的概念 61
2.5.2 控制OLE DB连接池 62
2.5.3 控制SQL Server连接池 62
习题 64
实验 连接数据源 67
练习1 创建MicrosoftSQLServer的连接 68
练习2 处理普通的连接异常 72
练习3 监测和管理SQLServer的连接池 73
练习4 (可选)创建到OLE DB数据源的连接 78
第3章 执行连接环境下的数据库操作 82
3.1 使用连接环境 82
3.1.1 连接环境下应用程序的对象模型 82
3.2 创建Command对象 83
3.2.1 Command对象的概念 84
3.2.2 创建存储过程 84
3.2.3 创建Command对象 85
3.2.4 Command对象参数 88
3.2.5 为Command对象创建参数 89
3.3 执行返回单值的Command对象 94
3.3.1 在Command对象中返回单值的原因 94
3.3.2 执行返回单值的Command对象 95
3.3.3 获取输出和返回值 96
3.4 执行返回多行的Command对象 98
3.4.1 返回数据行 98
3.4.2 DataReader的属性与方法 99
3.4.3 使用DataReader处理数据行 100
3.4.4 执行多条SQL语句 105
3.5 执行不返回记录的Command对象 109
3.5.1 DDL和DCL语句 110
3.5.2 执行DDL和DCL语句 111
3.5.3 DML语句 113
3.5.4 执行DML语句 114
3.5.5 数据更改诊断 118
3.6 使用事务机制 120
3.6.1 事务 121
3.6.2 使用SQL语句管理事务 122
3.6.3 使用ADO.NET管理事务 123
3.6.4 隔离级别 124
习题 127
实验 执行连接环境下的数据库操作 129
练习1 执行返回单值的Command对象 130
练习2 执行返回记录的Command对象 132
练习3 执行返回多条记录的Command对象 133
练习4 执行修改数据库的Command对象 134
第4章 构建DataSet 137
4.1 使用非连接环境 137
4.2 构建DataSet和DataTable 138
4.2.1 DataSet、DataTable和DataColumn的概念 139
4.2.2 DataSet对象模型 140
4.2.3 构建DataSet、DataTable和DataColumn 141
4.2.4 创建主键约束 144
4.2.5 使用惟一约束 145
4.2.6 创建自定义表达式 146
4.3 绑定与保存DataSet 148
4.3.1 为Windows控件绑定数据 148
4.3.2 为DataGrid控件绑定DataSet对象 149
4.3.3 保存和打开DataSet 151
实验A 创建、绑定、打开和保存数据集 152
练习1 创建自定义DataSet 153
练习2 打开与保存DataSet 155
练习3 编写Windows应用程序中的菜单代码 157
4.4 定义数据关系 160
4.4.1 使用外键约束限制对数据的操作 161
4.4.2 创建外键约束 161
4.4.3 DataRelation对象 162
4.4.4 创建DataRelation对象 163
4.4.5 浏览相关联的DataTable 164
4.5 更改DataTable中的数据 167
4.5.1 插入新行 167
4.5.2 在行中定位 168
4.5.3 更改表中的数据 169
4.5.4 删除行 169
4.5.5 RowState和RowVersion属性 170
4.5.6 处理DataTable对象的事件 171
4.6 排序和筛选 173
4.6.1 使用Select方法 173
4.6.2 DataView对象 176
4.6.3 创建DataView 176
4.6.4 在设计时使用DataView 179
4.7 在DataView中查询数据 180
习题 181
实验B 操作数据集 183
练习1 创建关系 184
练习2 使用关系导航 185
练习3 编辑DataTable中的行 188
练习4 使用DataView进行筛选与排序 192
第5章 使用ADO.NET读取和写入XML 196
5.1 创建XSD架构 196
5.1.1 XSD架构 197
5.1.2 类型化DataSet 201
5.1.3 XSD架构与关系型结构的映射 201
5.1.4 使用Visual Studio.NET生成XSD架构 203
5.2 将架构和数据加载到DataSet对象中 204
5.2.1 将架构加载到DataSet对象中 205
5.2.2 从文件中加载XSD信息 205
5.2.3 检查元数据 207
5.2.4 演示:检查DataSet结构 208
5.2.5 将XML数据加载到DataSet对象中 209
5.3 将DataSet写入XML 211
5.3.1 将架构写入文件、读取器或流 212
5.3.2 将DataSet信息写入文件或流 213
5.3.3 演示:将内嵌架构定义与数据写入文件 214
5.3.4 记录DataSet的更改 215
习题 219
实验 在ADO.NET中使用XML数据 221
练习1 使用Visual StudioXML设计器生成DataSet架构 221
练习2 从XML文件中创建并加载数据集 222
练习3 将DataSet架构和数据保存为XML文件 225
课程评价 226
第6章 从现有数据源构造数据集 227
6.1 配置DataAdapter以检索信息 227
6.1.1 DataAdapter 227
6.1.2 XxxDataAdapter对象模型 228
6.1.3 DataAdapter类的属性和方法 231
6.1.4 创建使用新SELECT语句的DataAdapter 232
6.1.5 创建使用现有存储过程的DataAdapter 235
6.2 使用DataAdapter填充DataSet 237
6.2.1 使用DataAdapter填充DataSet 238
6.2.2 为DataSet指定附加约束 240
6.2.3 高效地填充Dataset 242
6.2.4 使用多个DataAdapter填充一个DataSet 245
实验A 在断开式应用程序中检索数据 247
练习1 查看应用程序 248
练习2 创建存储员工信息和应用程序设置的DataSet 251
练习3 加载并显示员工信息 254
练习4 指定并使用不同的服务器名称 255
6.3 配置DataAdapter更新后台数据源 257
6.3.1 DataSet跟踪更改的方式 257
6.3.2 数据更新命令 260
6.3.3 使用数据适配器配置向导设置数据更新命令 262
6.4 将数据更改保存到数据源 265
6.4.1 使用DataSet对象的GetChanges方法的时机 265
6.4.2 将更改合并到DataSet 266
6.4.3 使用DataSet更新数据源 267
6.4.4 DataSet接受数据更改的方式 268
6.5 冲突处理 271
6.5.1 发生冲突 271
6.5.2 检测冲突 272
6.5.3 解决冲突 274
习题 280
实验B 检索并更新Customers表与Orders表的数据 282
练习1 准备加载和更新数据库中的多个表 283
练习2 使用多个DataAdapter填充一个DataSet 286
练习3 更新中央数据库 288
第7章 构建和应用使用ADO.NET的Web服务 291
7.1 构建和应用返回数据的Web服务 291
7.1.1 Web服务简介 291
7.1.2 构建返回数据库信息的Web服务 292
7.1.3 应用Web服务 296
习题 299
实验 ADO.NET应用程序的疑难解答 300
练习1 设置与测试应用程序 300
练习2 修正缺陷 303
词汇表 307