第1章 开发工具 1
1.1 获取Visual Studio 2008 2
1.2 安装SQL Server Management Studio Express 2
1.3 安装Northwind样本数据库 4
1.3.1 安装Northwind创建脚本 4
1.3.2 创建Northwind样本数据库 5
1.4 安装AdventureWorks样本数据库 7
1.4.1 安装AdventureWorks创建脚本 7
1.4.2 创建AdventureWorks样本数据库 9
1.5 小结 11
第2章 使用开发工具 13
2.1 不同版本Microsoft.NET Framework与代码库模型 13
2.2 使用Microsoft Visual Studio 2008 14
2.3 使用SQL Server Management Studio Express 18
2.4 小结 22
第3章 理解关系数据库 23
3.1 数据库的概念 23
3.2 电子数据表和数据库的选择 24
3.3 使用数据库的原因 24
3.4 使用关系型数据库管理系统的优势 24
3.5 桌面RDBMS和服务器RDBMS的比较 25
3.5.1 桌面数据库 25
3.5.2 服务器数据库 25
3.6 数据库的生命周期 26
3.7 映射基数 26
3.8 键的理解 28
3.8.1 主键 28
3.8.2 外键 29
3.9 理解数据完整性 29
3.9.1 实体完整性 29
3.9.2 引用完整性 29
3.10 规范化概念 30
3.11 规范化的缺陷 31
3.12 小结 31
第4章 编写数据库查询 33
4.1 比较QBE与SQL 33
4.2 查询 34
4.3 通用表表达式 36
4.4 GROUP BY子句 37
4.5 PIVOT运算符 38
4.6 ROW_NUMBER()函数 40
4.7 PARTITION BY子句 41
4.8 模式匹配 42
4.9 合计函数 47
4.10 DATETIME日期函数 49
4.11 连接 50
4.11.1 内连接 51
4.11.2 外连接 55
4.11.3 其他连接 58
4.12 小结 60
第5章 操纵数据库数据 61
5.1 检索数据 61
5.1.1 使用WHERE子句 63
5.1.2 数据排序 67
5.2 使用SELECT INTO语句 69
5.3 插入数据 73
5.4 更新数据 75
5.5 删除数据 77
5.6 小结 78
第6章 使用存储过程 79
6.1 创建存储过程 79
6.2 修改存储过程 85
6.3 显示存储过程的定义 86
6.4 重命名存储过程 87
6.5 在C#中使用存储过程 88
6.6 删除存储过程 94
6.7 小结 95
第7章 使用XML 97
7.1 XML的定义 97
7.2 选择XML的原因 98
7.3 将数据存储为XML格式的好处 98
7.4 理解XML文档 99
7.5 理解XML声明 100
7.6 将关系型数据转换为XML 100
7.6.1 使用FOR XML RAW模式 101
7.6.2 使用FOR XML AUTO 104
7.7 使用xml数据类型 105
7.8 小结 108
第8章 了解事务 109
8.1 事务的概念 109
8.2 何时使用事务 110
8.3 理解ACID属性 110
8.4 事务设计 111
8.5 事务状态 111
8.6 指定事务界限 112
8.7 在事务中允许使用的T-SQL语句 112
8.8 SQL Server 2005中的本地事务 112
8.9 SQL Server 2005中的分布式事务 113
8.10 编写高效事务的准则 114
8.11 如何编写事务 114
8.11.1 在T-SQL中编写事务 115
8.11.2 在ADO.NET中编写事务 121
8.12 小结 125
第9章 ADO.NET简介 127
9.1 了解ADO.NET 127
9.2 开发ADO.NET的原因 127
9.3 从ADO到ADO.NET 128
9.3.1 ADO.NET并非ADO新版本 129
9.3.2 ADO.NET和.NET基类库 129
9.4 理解ADO.NET体系结构 131
9.5 使用SQL Server数据提供程序 132
9.6 使用OLE DB数据提供程序 138
9.7 使用ODBC数据提供程序 142
9.8 数据提供程序是API 149
9.9 小结 150
第10章 创建连接 151
10.1 数据提供程序连接类概述 151
10.2 使用SqlConnection连接到SQL Server Express 152
10.2.1 调试到SQL Server的连接 156
10.2.2 SqlConnection中的安全与口令 157
10.2.3 使用SQL Server安全机制 157
10.2.4 SqlConnection中的连接字符串参数 157
10.2.5 连接池 159
10.3 连接对象的进阶用法 159
10.3.1 在连接构造函数中使用连接字符串 159
10.3.2 显示连接信息 159
10.4 用OleDbConnection连接到SSE 164
10.5 小结 166
第11章 执行命令 167
11.1 创建命令 167
11.1.1 关联命令与连接 169
11.1.2 设置Command对象的文本 170
11.2 执行命令 172
11.3 执行具有多个结果的命令 175
11.4 执行语句 177
11.5 命令参数 181
11.6 小结 185
第12章 数据读取器 187
12.1 数据读取器概述 187
12.1.1 使用序数索引器 190
12.1.2 使用列名索引器 193
12.1.3 使用类型访问器方法 194
12.2 获取数据的信息 199
12.3 获取表的数据 203
12.4 使用数据读取器处理多个结果集 206
12.5 小结 209
第13章 使用数据集和数据适配器 211
13.1 理解对象模型 211
13.1.1 数据集与数据读取器 212
13.1.2 数据集概述 212
13.1.3 数据适配器概述 213
13.1.4 DataTable、DataColumn和DataRow对象概述 214
13.2 使用数据集和数据适配器 214
13.2.1 数据集的筛选和排序 218
13.2.2 比较FilterSort和PopDataSet 223
13.2.3 使用数据视图 223
13.2.4 修改数据集中的数据 227
13.3 将变化保存到数据源中 230
13.4 并发 247
13.5 使用数据集和XML 248
13.6 在没有数据集的情况下使用数据表 251
13.7 理解有类型和无类型的数据集 254
13.8 小结 255
第14章 构建Windows Forms应用程序 257
14.1 理解Windows Forms 257
14.2 用户界面设计原则 257
14.3 用户界面设计的最佳实践 258
14.4 利用Windows Forms 260
14.5 理解设计视图和代码视图 262
14.6 属性窗口中的排序属性 263
14.6.1 分类视图 263
14.6.2 按字母顺序排列的视图 264
14.7 设置解决方案、项目和Windows Forms属性 264
14.8 利用控件 265
14.9 设置Dock和Anchor属性 268
14.9.1 Dock属性 268
14.9.2 Anchor属性 269
14.10 为项目添加新窗体 271
14.11 实现MDI窗体 273
14.12 小结 277
第15章 构建ASP.NET应用程序 279
15.1 理解Web功能 279
15.1.1 Web服务器 280
15.1.2 Web浏览器和HTTP 280
15.2 ASP.NET和Web页面概述 280
15.3 理解Visual Studio 2008 Web站点类型 281
15.3.1 文件系统Web站点 281
15.3.2 FTP Web站点 282
15.3.3 HTTP Web站点 282
15.4 ASP.NET Web站点布局 283
15.4.1 Web页面 283
15.4.2 应用程序文件夹 285
15.4.3 Web.config文件 285
15.5 使用Master页面 288
15.6 小结 293
第16章 处理异常 295
16.1 处理ADO.NET异常 295
16.2 处理数据库异常 303
16.3 小结 312
第17章 处理事件 313
17.1 理解事件 313
17.2 事件的属性 314
17.3 设计事件 314
17.4 控件引发的通用事件 314
17.5 事件生成器和使用者 315
17.6 小结 321
第18章 使用文本和二进制数据 323
18.1 理解SQL Server文本和二进制数据类型 323
18.2 在数据库中存储图像 324
18.3 从数据库中检索图像 331
18.4 处理文本数据 336
18.5 小结 345
第19章 使用LINQ 347
19.1 LINQ概述 347
19.2 LINQ的体系结构 348
19.3 LINQ的项目结构 350
19.4 使用LINQ to Objects 351
19.5 使用LINQ to SQL 353
19.6 使用LINQ to XML 358
19.7 小结 360
第20章 使用ADO.NET 3.5 361
20.1 理解ADO.NET 3.5 Entity Framework 361
20.2 理解实体数据模型 362
20.3 利用实体数据模型 362
20.4 小结 373