第一篇 Visual C# 2005入门篇 2
第1章 C#简介 2
1.1 .NET Framework 2.0与C 2
1.1.1 .NET Framework 2.0介绍 2
1.1.2 公共语言运行库 3
1.1.3 C# 2.0介绍 4
1.2 Visual Studio 2005概述 5
1.2.1 .NET开发环境Visual Studio 5
1.2.2 Visual Studio 2005的安装配置 5
1.2.3 MSDN简介 7
1.3 开发第一个C#程序 9
1.3.1 理解Main() 9
1.3.2 编译执行程序 12
1.4 小结 13
第2章 C#语言基础 14
2.1 类型 14
2.1.1 基类型 14
2.1.2 使用值类型和引用类型 14
2.1.3 装箱与拆箱 16
2.2 语句和运算符 17
2.2.1 选择语句 17
2.2.2 循环语句 19
2.2.3 使用运算符 21
2.2.4 重载运算符 22
2.2.5 运算符转换 24
2.3 字符串处理 26
2.3.1 使用string和StringBuilder 26
2.3.2 字符串的格式化 28
2.3.3 对字符串进行编码 31
2.4 类和结构 33
2.4.1 定义类和结构 33
2.4.2 定义属性 34
2.4.3 定义索引器 35
2.4.4 重载方法 37
2.4.5 使用Ref和Out类型参数 40
2.4.6 定义接口和抽象类 42
2.5 使用集合编程 46
2.5.1 使用枚举 46
2.5.2 使用数组 48
2.5.3 使用ArrayList 50
2.5.4 使用哈希表 52
2.5.5 使用字典 53
2.5.6 使用堆栈 57
2.5.7 使用队列 58
2.6 委托和事件 59
2.6.1 委托和事件的定义 59
2.6.2 使用委托进行回调 60
2.6.3 动态注册和移除事件 61
2.7 错误和异常处理 64
2.8 小结 66
第二篇 SQL Server 2005入门篇 68
第3章 操作数据库 68
3.1 SQL Server 2005简介 68
3.1.1 数据库基本知识 68
3.1.2 SQL Server 2005数据库 69
3.1.3 SQL Server 2005数据库管理工具 73
3.2 数据库 75
3.2.1 使用Management Studio创建数据库 75
3.2.2 使用SQL语句创建数据库 77
3.2.3 删除已创建的数据库 78
3.3 操作数据表 80
3.3.1 创建表 80
3.3.2 插入数据 83
3.3.3 修改数据 84
3.3.4 删除数据 84
3.4 查询数据 85
3.4.1 查询数据语法 85
3.4.2 使用条件查询 86
3.4.3 联合查询 88
3.4.4 限制查询 88
3.4.5 对查询输出进行控制 89
3.5 操作视图 90
3.5.1 使用Management Studio创建视图 91
3.5.2 使用SQL创建视图 93
3.5.3 创建基于视图的视图 93
3.5.4 修改视图 95
3.5.5 删除视图 95
3.6 存储过程 96
3.6.1 存储过程简介 97
3.6.2 创建存储过程 97
3.7 小结 100
第4章 T-SQL进阶 101
4.1 计算 101
4.1.1 计数COUNT 101
4.1.2 求和SUM 102
4.1.3 极值MAX/MIN 103
4.1.4 均值AVG 103
4.2 组合与判断 104
4.2.1 HAVING 104
4.2.2 GROUP BY 105
4.2.3 DISTINCT 105
4.3 函数 105
4.3.1 日期时间函数 106
4.3.2 字符串处理函数 109
4.3.3 系统函数 111
4.4 小结 113
第5章 数据报表 114
5.1 报表服务简介 114
5.1.1 报表服务概述 114
5.1.2 报表服务组件 115
5.1.3 报表服务的安装 116
5.2 设计报表 119
5.2.1 创建报表 119
5.2.2 设置报表显示 122
5.2.3 通过向导创建报表 124
5.2.4 在报表服务器发布报表 130
5.3 用户自定义报表 133
5.3.1 报表中的动态查询 133
5.3.2 编程方式访问报表的Web服务 135
5.4小结 138
第三篇 数据访问ADO.NET篇 140
第6章 使用数据库 140
6.1 使用ADO.NET数据库 140
6.1.1 AdventureWorks数据库 140
6.1.2 连接数据库 143
6.1.3 以代码的方式访问数据库 147
6.1.4 数据容器DataSet、DataTable 148
6.1.5 Windows应用程序中显示数据 151
6.2 ADO.NET与各种数据库的连接 153
6.2.1 连接SQL Server 154
6.2.2 连接Access 156
6.2.3 连接SQL Server数据库文件 156
6.2.4 连接Oracle 157
6.2.5 连接其他数据库 157
6.3 使用ADO.NET处理数据 158
6.4 小结 161
第7章 使用数据绑定和DataSet 162
7.1 数据绑定 162
7.1.1 新建项目 162
7.1.2 创建DataSet 163
7.1.3 创建和配置TableAdapter 164
7.1.4 填充数据到DataSet 168
7.1.5 创建数据绑定窗体 168
7.2 使用DataSet来操作数据库 169
7.2.1 使用连接字符串 169
7.2.2 用户数据操作的并发 170
7.2.3 DataGridView控件与DataSet 171
7.2.4 校验用户输入数据的合法性 172
7.2.5 执行更新DataSet 174
7.3 小结 175
第8章 SQL Server XML的功能 176
8.1 对XML的支持 176
8.1.1 SQL Server 2005中的XML功能 176
8.1.2 XML数据类型 177
8.2 XML的格式和架构 177
8.2.1 XML文档 177
8.2.2 XML架构 179
8.2.3 批注的架构 182
8.3 XML相关的SQL语句使用 182
8.3.1 SELECT语句中的FOR XML 182
8.3.2 RAW模式示例 185
8.3.3 AUTO模式示例 186
8.3.4 EXPLICIT模式示例 190
8.3.5 OPENXML示例 192
8.4 在SQL Server中使用模板 193
8.4.1 在模板中使用T-SQL语句 193
8.4.2 创建自定义模板 195
8.5 小结 196
第9章 XML编程 197
9.1 .NET框架中的XML 197
9.1.1 理解XML 197
9.1.2 XML文档对象模型(DOM) 198
9.1.3 System.Xml命名空间 199
9.2 读取XML文档 202
9.2.1 使用XmlDocument读取XML 202
9.2.2 使用XmlReader读取XML 204
9.2.3 使用XmlNode读取节点 206
9.3 使用XPath检索XML 208
9.3.1 基本XPath表达式 208
9.3.2 限定检索范围 209
9.3.3 使用函数设置检索条件 210
9.3.4 使用运算符设置检索条件 211
9.3.5 使用通配符模糊匹配 212
9.3.6 综合示例 213
9.4 修改XML文档 219
9.4.1 创建新DOM节点 219
9.4.2 为DOM节点创建属性 221
9.4.3 修改DOM节点 222
9.4.4 删除DOM节点 224
9.4.5 将DOM树写入XML文档 225
9.5 集成DataSet 226
9.5.1 使用DataSet加载XML数据 226
9.5.2 使用XmlDataDocument加载关系数据 227
9.6 XML和ADO.NET 229
9.6.1 将ADO.NET数据转换为XML文档 229
9.6.2 把XML文档转换为ADO.NET数据 231
9.7 在XML中串行化对象 231
9.8 小结 234
第10章 数据映射方案 235
10.1 O/R映射技术简介 235
10.1.1 什么是O/R映射 235
10.1.2 O/R映射关键问题 236
10.2 NHibernate介绍 236
10.2.1 NHibernate简介 237
10.2.2 NHibernate配置 237
10.2.3 对数据库中的实体映射 239
10.2.4 持久层对象 241
10.2.5 处理数据关联 242
10.2.6 在NHibernate中数据检索 244
10.2.7 HQL语言简介 245
10.3 小结 248
第11章 NHibernate事务、并发和缓存 249
11.1 事务与并发 249
11.1.1 NHibernate事务API 249
11.1.2 并发处理 254
11.2 缓存 255
11.2.1 NHibernate缓存 255
11.2.2 缓存实例 256
11.3 小结 257
第12章 NHibernate高级数据映射和查询 258
12.1 实体映射 258
12.1.1 一对一映射 258
12.1.2 一对多映射 265
12.1.3 多对多映射 270
12.2 高级查询 277
12.3 小结 278
第四篇 Windows应用程序开发 280
第13章 Windows应用程序概述 280
13.1 Windows应用程序 280
13.1.1 创建Windows窗体应用程序 280
13.1.2 设定Windows窗体属性 282
13.1.3 以程序的方式更改窗体属性 285
13.2 在窗体上使用控件 287
13.2.1 Windows窗体控件介绍 287
13.2.2 公共控件 287
13.2.3 容器控件 289
13.2.4 菜单和工具栏控件 291
13.2.5 数据控件 291
13.2.6 打印控件 292
13.2.7 对话框控件 293
13.2.8 组件控件 294
13.2.9 控件的属性 296
13.2.10 编程的方式更改控件属性 297
13.3 Windows窗体程序中的事件 298
13.4 自定义控件 302
13.4.1 自定义控件概述 302
13.4.2 创建自定义控件 303
13.5 小结 307
第14章 使用菜单和对话框 308
14.1 菜单和菜单事件的创建 308
14.1.1 菜单创建 308
14.1.2 菜单事件创建 311
14.1.3 简单记事本程序菜单设计 313
14.2 在应用中使用弹出菜单 320
14.3 使用公共对话框控件 322
14.3.1 使用OpenFileDialog控件选择文件 322
14.3.2 使用ColorDialog控件设置颜色 324
14.3.3 使用FontDialog控件设置字体 325
14.3.4 使用打印对话框PrintDialog控件 326
14.4 小结 328
第五篇 Web应用程序开发 330
第15章 ASP.NET 2.0开发 330
15.1 ASP.NET模型 330
15.1.1 理解ASP.NET 330
15.1.2 ASP.NET应用程序生命周期 331
15.2 使用ASP.NET创建Web应用程序 332
15.2.1 创建ASP.NET项目 333
15.2.2 发布ASP.NET网站 333
15.2.3 在Web程序页面中使用主题 336
15.2.4 在控件中使用主题 340
15.3 理解ASP.NET控件 341
15.3.1 标准控件 342
15.3.2 数据控件 344
15.3.3 验证控件 344
15.3.4 导航控件 346
15.3.5 登录控件 348
15.3.6 HTML控件 350
15.4 查询数据 352
15.4.1 数据源控件 353
15.4.2 通过数据绑定控件显示数据 353
15.4.3 以编程的方式显示数据 357
15.5 编辑数据 359
15.5.1 在GridView控件中选择数据 360
15.5.2 在GridView控件中编辑数据 361
15.5.3 使用GridView中的模板列 363
15.6 小结 365
第16章 创建和使用Web服务 366
16.1 Web服务的定义 366
16.1.1 Web服务概述 366
16.1.2 创建Web服务 367
16.1.3 Web服务的调用 369
16.2 Web服务技术 371
16.2.1 处理Web服务异常 371
16.2.2 使用Web服务管理状态 374
16.2.3 使用Web服务进行事务处理 376
16.2.4 Web服务的异步调用 378
16.3 小结 380
第六篇 实战篇 382
第17章 中小型企业网站 382
17.1 系统总体设计 382
17.1.1 系统需求 382
17.1.2 系统功能 382
17.1.3 系统架构 385
17.2 数据库设计 386
17.2.1 表设计 387
17.2.2 表关系设计 389
17.3 系统全局配置(Web.Config) 390
17.3.1 定义各模块处理数据的配置 390
17.3.2 数据库连接字符串 392
17.3.3 为各模块注册处理信息 392
17.3.4 页面自动跳转等其他设置 393
17.4 业务实体类设计 394
17.5 网站的数据管理(数据处理层) 397
17.5.1 分类管理 397
17.5.2 新闻管理 406
17.5.3 人员信息管理 410
17.5.4 客户信誉管理 413
17.6 数据处理的具体方法(业务逻辑层) 414
17.6.1 实现4个页面的类设计 414
17.6.2 获取产品分类信息 414
17.7 系统公共类 417
17.8 网站界面总体设计 419
17.8.1 母版页 419
17.8.2 站点导航 422
17.8.3 主题和皮肤 422
17.9 产品分类模块 424
17.9.1 产品分类界面设计 425
17.9.2 产品分类的实现 425
17.9.3 获取当前分类的子类和产品 427
17.9.4 美化产品信息显示界面(使用GridView模板) 428
17.9.5 绑定当前产品分类中所有的子类(使用树控件的递归) 429
17.9.6 绑定用户选择产品分类后的事件 431
17.9.7 显示当前分类下的产品列表 433
17.9.8 获取产品的详细信息 434
17.10 公司新闻模块 435
17.10.1 公司新闻界面设计 435
17.10.2 新闻列表和新闻详细信息的设计 436
17.10.3 显示公司新闻的详细信息 439
17.11 企业人员模块 440
17.11.1 企业人员界面的设计 440
17.11.2 人员管理模块的实现 441
17.12 客户信誉模块 442
17.13 小结 443
第18章 博客引擎BlogEngine.NET 444
18.1 系统功能介绍 444
18.1.1 博客文章列表 445
18.1.2 博客评论区 446
18.1.3 博客管理 447
18.1.4 内容聚合 447
18.1.5 MetaWebLog编程接口(支持用Office编写博客) 448
18.2 博客配置 450
18.2.1 添加文章 450
18.2.2 博客名单(Blogroll) 452
18.2.3 类别管理 453
18.2.4 博客小器件(在页面中的内容可选) 453
18.2.5 添加静态页面 454
18.2.6 文章订阅服务Ping services 455
18.2.7 博客引用日志 456
18.2.8 博客设置 456
18.2.9 用户管理 458
18.3 系统架构概览 459
18.4 网站全局环境配置 460
18.4.1 博客网站的样式 460
18.4.2 可选的博客页面内容 461
18.4.3 国际化设置(支持不同语言访问) 461
18.5 网站初始化 462
18.5.1 动态加载全局配置(OnPreInit事件) 462
18.5.2 博客网站的初始化(OnLoad事件) 463
18.6 界面层设计 465
18.6.1 母版页 466
18.6.2 显示文章的评论(使用用户控件CommentView.ascx) 470
18.6.3 显示博客文章(使用用户控件PostView.ascx) 472
18.6.4 自定义博客的显示风格 474
18.7 界面层中间件:用户控件 475
18.7.1 添加博客评论(CommentView.ascx用户控件实现无刷新添加) 476
18.7.2 显示博客文章列表(PostList.ascx用户控件实现自定义分页效果) 481
18.8 国际化设置 483
18.8.1 国际化设置页面 484
18.8.2 国际化代码实现 486
18.9 页面小器件——自定义页面布局 488
18.9.1 订阅博客实体对象 489
18.9.2 自定义小器件实现页面布局 491
18.10 博客系统核心层设计 494
18.11 数据存储模型的设计 495
18.11.1 XML成员服务——存储博客系统的用户信息 495
18.11.2 实现帖子的增、删、编辑 500
18.12 系统配置信息的加载 505
18.13 自定义HttpHandler处理——对应各种资源的处理接口 508
18.13.1 配置Http处理器的映射 509
18.13.2 实现自定义Http处理器 510
18.14 自定义HttpModule——监听服务器端的所有请求 519
18.14.1 URL地址重写——保护URL地址信息 520
18.14.2 实现Http压缩处理——实现用户信息的压缩 522
18.15 博客管理模块 523
18.15.1 管理模块的基类 524
18.15.2 管理模块的属性修改列表 526
18.15.3 管理模块中的业务规则 528
18.15.4 博客的增添、删除、修改实现 529
18.15.5 博客管理模块中的模板定义 532
18.16 博客文章管理模块 532
18.16.1 博客文章类Post的结构 532
18.16.2 博客文章中URL的重写 533
18.16.3 博客文章的帖子列表 534
18.16.4 博客实体类的数据访问 535
18.17 自定义扩展——防止博客中图片的盗链 536
18.18 小结 538