第1章 安装MSDE 1
1.1 随.NET Framework安装MSDE 1
1.1.1 安装.NET Framework 2
1.1.2 安装MSDE和范例数据库 3
1.2 随Visual Studio.NET安装MSDE 3
1.3 使用MS Access连接到MSDE 4
1.4 探究数据库 7
1.5 使用ServerExplorer连接 9
1.6 小结 13
第2章 简单数据驱动应用程序 14
2.1 创建应用程序 14
2.2 建立与数据库的联系 16
2.3 数据绑定 19
2.4 编辑数据 26
2.5 小结 28
2.6 练习 28
第3章 SQL入门 29
3.1 SQL简介 29
3.2 使用SQL 30
3.2.1 从Visual Studio.NET中运行SQL语句 30
3.2.2 从命令行运行SQL 32
3.2.3 定制查询工具 34
3.3 读取数据 34
3.4 插入数据 41
3.5 更新数据 42
3.6 删除数据 44
3.7 SQL数据类型 45
3.7.1 数值数据类型 45
3.7.2 字符串数据类型 46
3.7.3 日期和时间数据类型 46
3.8 二进制数据类型 46
3.9 恢复Northwind数据库 47
3.10 小结 48
3.11 练习 48
第4章 ADO.NET简介 49
4.1 使用ADO.NET的原因 49
4.1.1 ADO简介 49
4.1.2 从ADO到ADO.NET 50
4.1.3 ADO.NET和.NET Framework 51
4.2 ADO.NET的体系结构 52
4.3 .NET数据提供者的组件 67
4.4 小结 69
4.5 练习 70
第5章 连接数据库 71
5.1 .NET数据提供者中的Connection对象 71
5.2 用SqlConnection连接到MSDE 72
5.2.1 调试SQL Server的连接 76
5.2.2 连接到另一机器上的SQL Server 78
5.2.3 SqlConnection中的安全和口令 79
5.2.4 SqlConnection中的连接字符串子句 79
5.3 改进对Connection对象的使用 81
5.3.1 在连接对象构造函数中使用连接字符串 81
5.3.2 使用finally关闭连接 81
5.3.3 显示连接信息 84
5.4 用OleDbConnection连接到Microsoft Access 87
5.5 用OleDbConnection连接到Oracle 91
5.6 用OdbcConnection连接到MySQL 91
5.7 用OracleConnection连接到Oracle 95
5.8 小结 97
5.9 练习 98
第6章 获取数据 99
6.1 创建Command对象 99
6.1.1 关联命令与连接 101
6.1.2 给Command对象分配命令文本 103
6.2 执行命令 104
6.3 执行具有多个结果的命令 106
6.4 执行非查询命令 109
6.4.1 创建表 113
6.4.2 创建数据库 115
6.5 命令参数 117
6.6 在其他.NET数据提供者中使用Command对象 121
6.7 小结 127
6.8 练习 128
第7章 使用DataReader 129
7.1 ADO.NET数据读取器简介 129
7.2 DataReader的概念 130
7.2.1 使用序数索引器 134
7.2.2 使用列名索引器 137
7.2.3 使用类型访问器方法 137
7.3 更多地了解数据 143
7.4 为DataReader获得模式信息 147
7.5 在DataReader中使用多个结果集 150
7.6 小结 152
7.7 练习 152
第8章 DataSet和DataAdapter 153
8.1 对象模型 153
8.1.1 DataSet与数据适配器 153
8.1.2 DataSet简介 154
8.1.3 DataAdapter简介 155
8.1.4 DataTables、DataColumns和DataRows 156
8.2 利用DataSets和DataAdapters 157
8.2.1 填充DataSet 157
8.2.2 DataSet中的筛选和排序 160
8.2.3 使用DataView 164
8.2.4 修改DataSet中的数据 166
8.2.5 把变化保存到数据存储中 169
8.3 DataSet和XML 173
8.4 类型和无类型DataSet 174
8.5 小结 176
8.6 练习 176
第9章 数据和Windows应用程序 177
9.1 数据绑定简介 177
9.1.1 简单数据绑定 178
9.1.2 复杂数据绑定 180
9.1.3 数据绑定的工作原理 182
9.1.4 同步控件与数据源 184
9.2 数据源的类型 187
9.2.1 绑定到数组 188
9.2.2 绑定到数据表 189
9.2.3 绑定到数据集 191
9.2.4 绑定到数据视图 192
9.3 DataGrid 192
9.4 使用DataGrid更新数据源 196
9.5 小结 199
9.6 练习 199
第10章 ASP.NET 200
10.1 基础知识 200
10.1.1 Web窗体 201
10.1.2 把数据绑定到DataGrid 208
10.1.3 DataGrid中的分页 210
10.2 ASP.NET页生命期 213
10.2.1 提供可扩展性 214
10.2.2 选择行 217
10.2.3 使用绑定列 221
10.3 编辑DataGrid 223
10.3.1 模板列 226
10.3.2 删除行 229
10.3.3 排序DataGrid 230
10.4 小结 232
10.5 练习 233
第11章 验证基于Web的用户输入 234
11.1 Web验证 237
11.1.1 客户端验证 237
11.1.2 服务器端验证 238
11.2 ASP.NET验证控件 239
11.2.1 RangeValidator控件 239
11.2.2 CompareValidator控件 243
11.2.3 RegularExpressionValidator控件 244
11.2.4 CustomValidator控件 246
11.2.5 ValidationSummary控件 248
11.3 程序化验证 253
11.4 小结 254
11.5 练习 255
第12章 表和关系 257
12.1 表 257
12.1.1 创建表 258
12.1.2 给表添加行 260
12.1.3 删除表 261
12.2 表关系 261
12.2.1 键和约束 262
12.2.2 关系类型 264
12.2.3 参照完整性 265
1 2.2.4 数据库图表 266
12.3 在C#中使用表 269
12.4 小结 276
12.5 练习 277
第13章 SQL查询 278
13.1 Northwind查询应用程序,第Ⅱ部分 278
13.2 SQL命令 283
13.2.1 DISTINCT 283
13.2.2 子查询 284
13.2.3 GROUP BY 287
13.2.4 合计函数 288
13.2.5 日期函数 289
13.2.6 CASE语句 290
13.2.7 JOIN 292
13.2.8 LIKE 296
13.3 小结 298
13.4 练习 299
第14章 视图和存储过程 300
14.1 视图 300
14.2 存储过程 309
14.3 小结 329
14.4 练习 330
第15章 索引和约束 331
15.1 索引 331
15.1.1 索引的优点 334
15.1.2 索引的缺点 336
15.1.3 聚集索引 337
15.1.4 复合索引 338
15.1.5 其他索引原则 341
15.1.6 维护索引 342
15.2 约束 343
15.2.1 数据完整性 344
15.2.2 惟一约束 344
15.2.3 检查约束 346
15.2.4 NULL约束 349
15.2.5 默认约束 351
15.2.6 维护约束 352
15.3 小结 353
15.4 练习 353
第16章 身份验证和授权 355
16.1 AdminHelp工具 355
16.2 数据库安全介绍 356
16.3 身份验证 357
16.3.1 Windows身份验证模式 357
16.3.2 混合模式身份验证 358
16.4 管理用户 359
16.4.1 数据库登录 359
16.4.2 特殊用户 361
16.4.3 用户账户 362
16.4.4 管理角色 364
16.5 应用权限 368
16.5.1 撤消权限 368
16.5.2 授予权限 369
16.5.3 拒绝权限 369
16.5.4 解决权限冲突 369
16.5.5 对象权限 370
16.5.6 语句权限 371
16.5.7 浏览权限 372
16.6 实现安全 375
16.7 小结 376
16.8 练习 376
第17章 XML和ADO.NET 377
17.1 XML的优缺点 377
17.2 XML文档的结构 378
17.3 模式 381
17.4 ADO.NET和XML 385
17.5 使用XML的应用程序配置 388
17.6 其他内容 392
17.7 小结 393
17.8 练习 393
第18章 处理ADO.NET和数据库异常 394
18.1 C#中的一般异常处理 394
18.1.1 基本异常类 396
18.1.2 throw语句 397
18.2 ADO.NET异常和数据库异常 397
18.3 异常类 398
18.4 ADO.NET异常 399
18.5 数据库异常 406
18.6 小结 415
18.7 练习 416
第19章 事务 417
19.1 使用事务的场合 417
19.2 ACID属性 418
19.3 事务处理语句 419
19.3.1 利用SQL事务 419
19.3.2 嵌套事务 432
19.3.3 ADO.NET事务 433
19.4 其他的内容 440
19.5 小结 441
19.6 练习 442
第20章 ADO.NET事件 443
20.1 事件和委托 443
20.2 ADO.NET事件 445
20.2.1 连接对象事件 445
20.2.2 利用多个处理程序 460
20.3 小结 463
20.4 练习 463
第21章 不规则数据 464
21.1 不规则数据的SQL Server数据类型 464
21.2 在数据库中存储图像 466
21.3 把二进制数据提取到文件 482
21.4 处理大型文本文件 489
21.5 其他ADO.NET数据提供者中的不规则数据 498
21.5.1 提供者之间不规则数据类型枚举的区别 500
21.5.2 ODBC.NET数据提供者中的不规则数据 504
21.6 小结 506
21.7 练习 506
附录A 定制查询工具应用程序 507
附录B XML初级读本 517
B.1 XML 517
B.1.1 XML文档 517
B.1.2 XML命名空间 520
B.1.3 格式良好和有效的XML 521
B.1.4 验证XML文档 522
B.2 小结 527