第Ⅰ部分 基础 3
第1章 Visual Basic.NET与SQL 3
Server 2000编程基础 3
1.1 Visual Basic.NET的集成开发环境 4
——Visual Studio.NET 4
1.1.1 启动Visual Studio.NET 4
1.1.2 为Visual Basic.NET配置 4
Visual Studio.NET 4
1.1.3 使用起始页 5
1.1.4 创建并运行控制台应用程序 6
1.2 ADO.NET功能一览 7
1.2.1 .NET数据提供程序类型 8
1.2.2 SqlConnection类 9
SqlDataReader类 10
1.2.3 SqlCommand类和 10
1.2.4 SqlDataAdapter类和 11
DataSet类 11
1.3 ADO.NET入门示例 12
1.3.1 添加SqlDataAdapter、 13
SqlConnection和DataSet 13
到数据集 14
1.3.2 填充数据集并将控件绑定 14
目录 15
前言 15
1.3.3 数据行导航 16
1.4 使用查询分析器 17
1.4.1 查询分析器的用途 17
1.4.2 连接查询分析器 18
1.4.3 运行、保存和打开 19
T-SQL脚本 19
1.4.4 其他有关内容 21
第2章 表和数据类型 25
2.1 本章资源 25
2.1.1 T-SQL示例脚本 26
2.1.2 示例数据库 26
2.2 表的数据类型 28
2.2.1 系统的数据类型 28
2.2.2 特殊的系统数据类型 34
2.2.3 用户定义的数据类型 35
2.3 编写表的脚本 36
2.3.1 创建表 36
2.3.2 查看元数据 38
2.3.3 使用列数据类型 41
2.3.4 添加检查约束 47
2.3.5 编写键和索引脚本 49
2.3.6 索引 55
第3章 用T-SQL进行数据访问编程 59
3.1 T-SQL数据访问介绍 59
3.1.1 SELECT语句 60
3.1.2 指定列和行 62
3.1.3 计算列 65
3.2 行的聚合和分组 66
3.2.1 聚合函数概述 67
3.2.2 不分组聚合 67
3.2.3 分组聚合 68
3.3 日期的处理 70
3.3.1 按年和月计数 71
3.3.2 日期算法 74
3.4 联接和子查询 75
3.4.1 两个表间的内部联接 76
3.4.2 在内部联接中使用别名 77
3.4.3 三个表间的内部联接 78
3.4.4 外部联接 79
3.4.5 自联接和完全联接 80
3.4.6 子查询 82
第4章 视图和存储过程编程 84
4.1 视图 84
4.1.1 视图的用途 85
4.1.3 对视图SELECT 86
视图的语句 86
语句的限制 86
4.1.2 用于创建和更改 86
4.1.4 视图属性 87
4.2 创建和使用视图 87
4.2.1 创建视图并从视图中 88
选择数据 88
4.2.2 未加密视图和 89
加密视图比较 89
4.2.3 在视图中进行排序和分组 91
4.3.1 创建另一个SQL Server 93
实例的视图 93
4.3 远程和异类数据源的视图 93
4.3.2 创建Access数据库视图 94
4.3.3 创建ODBC行源视图 95
4.3.4 联接视图的行源 96
4.4 存储过程简介 98
4.4.1 存储过程的用途 98
4.4.2 通过存储过程实现 99
T-SQL语句的重用 99
和全局变量 100
4.5 存储过程的创建和应用 100
4.4.3 使用参数、局部变量 100
4.5.1 从行源中动态选择数据 101
4.5.2 返回已排序的结果集 102
4.5.3 返回视图脚本 103
4.6.1 从一个存储过程返回 104
两个结果集 104
4.6 处理存储过程的输出结果 104
4.6.2 返回一个结果集 106
和一个参数值 106
4.6.3 返回一个字符串参数 107
4.6.4 处理返回状态值 108
4.7.1 修改存储过程以实现 110
数据操作 110
4.7 插入、更新和删除行 110
4.7.2 通过参数执行数据库维护 113
4.8 条件结果集编程 115
4.8.1 按条件列出对象 115
4.8.2 使用TOP谓词返回 117
X项数据 117
4.8.3 使用SET ROWCOUNT 119
返回X项数据 119
第5章 用户定义函数和触发器编程 121
5.1 用户定义函数 121
5.1.1 UDF类型简介 122
5.1.2 用于创建和管理 123
UDF的语句 123
5.2 创建和调用标量UDF 125
的比较 125
5.2.1 创建不带参数的标量UDF 125
5.1.3 UDF与视图和存储过程 125
5.2.2 创建带参数的标量UDF 127
5.2.3 在T-SQL脚本中使用 128
标量UDF 128
5.3 创建和调用表值UDF 131
5.3.1 提供参数化视图 131
5.3.2 在内联UDF的列表中 132
使用标量UDF 132
5.3.3 用多语句UDF封装 136
更多的逻辑 136
5.4 触发器 138
5.4.1 与事件过程相似的触发器 138
5.4.2 触发器的类型 139
5.4.3 inserted表和deleted表 139
5.4.4 用于创建和删除 140
触发器的语句 140
5.5 创建和管理触发器 141
5.5.1 表的保护与解除保护 141
5.5.2 保存对表的修改 143
5.5.3 对表强制执行业务规则 147
5.5.4 对视图强制执行业务规则 149
第6章 SQL Server 2000 XML 152
的功能 152
6.1.1 SQL Server版本中的 153
XML功能 153
6.1 对XML的支持 153
6.1.2 Web版本安装 155
6.2 XML的格式和架构 155
6.2.1 XML文档 156
6.2.2 XML架构 158
6.2.3 批注的架构 161
6.3 通过URL访问SQL Server 166
6.3.1 虚拟目录管理 166
6.3.2 SELECT语句中的 168
FOR XML 168
6.3.3 RAW模式示例与 169
AUTO模式示例 169
6.3.4 AUTO模式示例与 172
NESTED模式示例 172
6.4.1 在模板中使用T-SQL 175
语句 175
6.4 通过模板访问SQL Server 175
6.4.2 用数据库对象增强的模板 178
6.4.3 类似于模板的 181
Updategrams 181
7.1 SQL Server安全性概述 186
7.1.1 安全账户 186
第7章 SQL Server 2000安全性 186
7.1.2 身份验证 187
7.1.3 角色和权限 188
7.2.1 应用程序角色 191
7.2.2 链接服务器 191
7.2 特殊的安全问题 191
7.2.3 虚拟目录的安全 192
7.3 登录和用户示例 193
7.3.1 添加SQL Server 194
登录和用户 194
7.3.2 删除SQL Server 195
登录和用户 195
7.3.3 添加和删除Windows 196
用户的登录 196
7.3.4 处理基于Windows 198
组的登录 198
7.4.1 表的选择、插入和 200
删除权限 200
7.4 权限分配示例 200
7.4.2 创建表的权限 202
7.4.3 Windows用户和组 204
SQLServer 2000的相关技术 209
第8章 .NET框架概览 209
第Ⅲ部分 使用Visual Basic.NET和 209
8.1 .NET框架入门 210
8.1.1 .NET框架体系结构 210
8.1.2 编译源代码 211
8.1.3 程序集和清单 212
8.1.4 .NET框架的重要特性 214
8.2 ASP.NET简介 215
8.2.1 ASP.NET和ASP的关系 215
应用程序 217
8.2.3 向.aspx页面添加控件 217
8.2.2 创建ASP.NET Web 217
添加代码 218
8.3 XML Web服务 218
8.2.4 向.aspx Web页面 218
8.3.1 XML Web服务的功能 219
8.3.2 XML Web服务基础 219
结构概述 219
8.3.3 关于底层技术 220
第9章 创建Windows应用程序 222
9.1 开始使用Windows窗体 222
9.1.1 从Windows应用程序的 222
Forml开始 222
9.1.2 管理Windows窗体 224
9.1.3 带有两个按钮控件的 225
Windows窗体 225
9.1.4 用一个Windows窗体 227
打开另一个窗体 227
9.2 创建和使用类引用 230
9.2.1 创建执行计算的类 231
9.2.2 从Windows应用 233
程序引用类 233
9.2.3 .NET命名空间体系结构 236
9.2.4 值类型转换 240
9.2.5 长整型与十六进制的 241
相互转换 241
9.3 类的继承 244
9.3.1 继承概述 244
9.3.2 继承与重写示例 246
9.3.3 隐藏示例 249
9.3.4 重载示例 252
9.4 事件编程 254
9.4.1 事件编程的概念 254
9.4.2 使用内置窗体事件 255
9.4.3 使用WithEvents关键字 258
处理事件 258
9.4.4 使用AddHandler语句 262
处理事件 262
9.4.5 处理来自基于服务器 266
的计时器事件 266
9.5 运行时错误的异常处理 270
9.5.1 结构化异常处理概述 271
9.5.2 捕捉错误 271
9.5.3 捕捉与修复运行时错误 275
9.5.4 异常处理的最佳做法 277
第10章 使用ADO.NET创建Windows 279
解决方案 279
10.1.1 Connection类 280
10.1.2 Command类 280
10.1 ADO.NET对象概述 280
10.1.3 DataReader类 281
10.1.4 DataAdapter类 282
10.1.5 DataSet类 283
10.1.6 DataView类 284
10.2 建立连接 285
10.2.1 使用集成安全登录 285
10.2.2 使用SQL Server 287
安全登录 287
10.2.3 捕捉SqlConnection异常 288
10.2.4 从Windows窗体 290
建立连接 290
10.3.1 在消息框或输出窗口 294
DataReader对象 294
中显示结果 294
10.3 使用Command和 294
10.3.2 分块显示DataReader 297
记录行 297
10.3.3 通过SQL字符串调用 299
带参数的存储过程 299
10.3.4 通过名称调用带 302
参数的存储过程 302
10.3.5 用Command对象创建 304
Database对象 304
10.4 数据适配器、数据集、窗体 306
和窗体控件 306
10.4.1 向窗体添加数据集 307
10.4.2 绑定窗体控件与数据 309
10.4.3 报告数据绑定 311
10.4.4 使用包含父表子表 314
的数据集 314
10.4.5 创建数据识别窗体 319
10.5 修改、插入和删除行 328
10.5.1 运行中的数据操作示例 328
10.5.2 与窗体Load事件 331
关联的代码 331
10.5.3 导航按钮的代码 336
10.5.5 Clear和Insert按钮 337
的代码 337
10.5.4 Modify按钮的代码 337
10.5.6 Delete按钮的代码 339
第11章 ASP.NET解决方案编程 341
11.1 ASP.NET设计问题回顾 342
11.1.1 往返行程 342
11.1.2 页和Page类 344
11.1.3 页上的控件 345
11.1.4 ASP.NET设计界面 347
11.2 创建并运行ASP.NET解决方案 350
11.2.1 编译和查看Web页 350
11.2.2 记住页的状态 352
11.2.3 多功能计算器Web页 355
11.2.4 表中的多功能计算器 358
11.2.5 检测浏览器 361
11.3 会话状态管理 362
11.3.1 会话状态管理问题概述 362
11.3.2 使用Session变量 364
11.3.3 使用视图状态变量 368
11.3.4 用QueryString属性 370
标识用户 370
11.3.5 跨页使用查询字符串 374
11.4 验证Web页上的数据 376
11.4.1 用ASP.NET管理数据库 377
解决方案 377
11.4.2 填充ListBox和 377
DataGrid控件 377
11.4.3 通过数据集定位文本框 382
11.4.4 从Web页创建 386
数据库对象 386
11.4.5 在ASP.NET中进行 389
数据操作 389
11.5 在Web页上验证数据 397
11.5.1 内置的数据验证工具 397
11.5.2 使用Web页上的 398
验证控件 398
11.5.3 使用Page对象的IsValid 400
属性进行编程 400
11.5.4 动态禁用验证控件 402
第12章 用Visual Basic.NET 406
管理XML 406
版本2概述 407
12.1.1 Web版本1和Web 407
12.1.2 Web版本3概述 407
12.1 SQL Server的Web版本 407
12.1.3 SQLXML托管类 408
12.1.4 DiffGrams允许修改数据 411
12.2 XML技术概述 413
12.2.1 XML数据格式 413
12.2.3 XSLT格式设置 415
12.3 用.NET框架生成XML文档 415
12.2.2 XPath查询 415
12.3.1 用T-SQL创建 416
XML文档 416
12.3.2 用批注架构创建 418
XML文档 418
12.3.3 设计批注架构 420
12.4 动态设置XML结果集 423
12.4.1 对特定的XML文档 424
进行XPath查询 424
12.4.2 对XML文档运行 426
XPath查询 426
12.4.3 运行参数化的 428
SQL Server查询 428
12.4.4 参数化所有SQL查询 429
12.5 XML和数据集的交互 430
12.5.1 创建分层的XML文档 431
12.5.2 在数据集中用 435
XPath查询子代 435
12.5.3 在XML文档中用 437
XPath查询子代 437
12.5.4 通过DiffGram用数据集 439
更新数据库 439
12.5.5 在没有虚拟目录的Web 442
上使用DiffGram 442
12.6 用XSLT创建HTML页 444
12.6.1 格式化Employees表中 445
的两列 445
12.6.2 格式化Shippers表中 448
的3列 448
解决方案 452
13.1 Web服务概述 452
第13章 用XML Web服务创建 452
13.1.1 Web服务设计元素 453
13.1.2 典型的XML Web服务 454
应用程序 454
13.1.3 Visual Studio.NET的 455
Web服务 455
13.1.4 Web服务工具包中的 456
Web服务 456
13.2 返回计算结果的Web服务 458
13.2.1 构建Web服务应用程序 458
13.2.2 Web服务应用程序 460
的配置与编码 460
13.2.4 为Web服务构建 461
客户端应用程序 461
13.2.3 测试Web服务 461
13.2.5 部署和发现Web服务 463
13.3.1 对数据库中的表计数 466
并返回行 466
13.3 从表中返回值的Web服务 466
13.3.2 测试TableProcessor 469
文件夹中的Web服务 469
13.3.3 构建客户端应用程序 470
13.4.1 为虚拟目录的SQL Server 475
服务工具包 475
用户编写脚本 475
13.4 SQL Server 2000 Web 475
13.4.2 在IIS虚拟目录中构建 476
Web服务 476
13.4.3 构建显示XML片段的 478
客户端应用程序 478
13.4.4 用XML服务填充 480
ListBox控件 480
13.5.1 将自定义数据库对象 483
的更多内容 483
添加为Web方法 483
13.5 有关用Web服务填充控件 483
13.5.2 用Web方法填充DataGrid 486
和ListBox控件 486
13.5.3 用Web方法动态填充 489
控件 489
第Ⅱ部分 SQL Server 2000