第2部分 专业项目 1
译者序 1
第1部分 Visual Basic.NET概述 1
第1章 .NET概述 1
1.1 .NET框架的组件 1
1.1.1 通用语言运行库 1
修订版序 1
1.1.2 .NET框架类库 2
1.2 .NET框架特征 2
第3部分 专业项目 2
1.3 Visual Basic.NET概述 3
第4部分 专业项目 3
第5部分 专业项目 4
1.4 Visual Basic 6.0与Visual Basic.NET之间的不同 5
第6部分 专业项目 5
1.5 小结 6
第2章 Visual Basic.NET的面向对象特征 7
2.1 面向对象的特征 7
2.1.1 抽象性 7
2.1.2 封装性 7
2.1.4 多态性 8
2.1.3 继承性 8
2.2 Visual Basic.NET中面向对象特征的实现 9
2.3 声明类成员 13
2.3.1 构造函数 14
2.3.3 方法 15
2.3.2 析构函数 15
2.3.4 字段和属性 16
2.4 声明命名空间 17
2.5 小结 19
第3章 Visual Studio.NET IDE 20
3.1 Visual Studio.NET IDE 中的窗口和工具 20
3.1.1 菜单栏 21
3.1.2 工具栏 23
3.1.4 “解决方案”窗口 24
3.1.3 “开始”页面 24
3.1.5 “类视图”窗口 25
3.1.6 “动态帮助”窗口 26
3.1.7 工具箱 27
3.1.8 “服务器资源管理器”窗口 29
3.2 Visual Studio.NET中的其他窗口 30
3.2.1 “属性”窗口 31
3.2.2 Task List窗口 31
3.3 小结 32
3.2.3 Command窗口 32
4.1.1 数据类型 33
4.1 使用变量 33
第4章 变量和运算符 33
4.1.2 变量声明 34
4.1.3 变量的作用域 36
4.1.4 类型转换 37
4.1.5 常量 37
4.2 使用运算符 38
4.2.1 算术运算符 38
4.2.2 赋值运算符 41
4.2.3 比较运算符 44
4.2.4 逻辑/位逻辑运算符 46
4.3 小结 51
5.1.1 声明数组 53
5.1 数组 53
第5章 数组和集合 53
5.1.2 多维数组 54
5.1.3 动态数组 56
5.1.4 数组类的方法 58
5.1.5 数组的数组 60
5.2 集合 61
5.3 小结 65
第6章 条件逻辑 66
6.1 决策结构 66
6.1.1 If...Then...Else语句 66
6.1.2 Select...Case语句 68
6.2.1 While...End While语句 70
6.2 循环结构 70
6.2.2 Do...Loop语句 71
6.2.3 For...Next语句 72
6.2.4 For Each...Next语句 74
6.3 小结 75
第7章 过程和函数 76
7.1 过程 76
7.1.1 Sub过程 77
7.1.2 Function过程 78
7.1.3 事件处理过程 80
7.1.4 Property过程 82
7.2 参数 82
7.2.1 按值传递参数 82
7.2.2 按引用传递参数 83
7.2.4 参数数组 84
7.2.3 可选参数 84
7.2.5 重载过程 85
7.3 内置函数 86
7.3.1 应用程序增强函数 86
7.3.2 字符串函数 93
7.3.3 日期函数 96
7.3.4 类型转换函数 98
7.4 小结 100
项目1 使用VB.NET开发项目概述 101
第8章 Visual Basic 6.0项目升级到Visual Basic.NET 102
8.1 PrjLenConversion Visual Basic 6.0项目 102
8.2 Visual Basic升级向导 105
8.3 升级项目中的变化 108
8.3.2 事件处理过程声明中的改变 111
8.3.1 常规改变 111
8.3.4 数据类型的改变 112
8.3.3 处理控件方面的改变 112
8.4 其他更改 113
8.3.5 MsgBox函数中的改变 113
8.4.1 数组 114
8.4.2 Property过程 114
8.4.3 后期绑定对象 115
8.5 小结 116
项目2 使用ADO.NET的项目开发 117
9.3 项目周期 118
9.2 MyMovies视频售货亭:解决方案 118
9.1 MyMovies视频售货亭:现在的情形 118
第9章 项目个案研究——创建视频售货亭 118
9.3.1 需求分析 119
9.3.2 总体设计 120
9.3.4 构造 122
9.3.5 集成和测试 122
9.3.6 用户验收测试 122
9.4 数据库设计 122
9.3.3 详细设计 122
9.5 小结 123
10.1 ADO.NET的特征 124
第10章 使用ADO.NET 124
10.2.2 性能 125
10.2.3 编程性 125
10.2 ADO.NET的优势 125
10.2.1 可缩放性 125
10.3 ADO.NET的组件 126
10.2.5 可维护性 126
10.2.4 互用性 126
10.3.1 .NET数据提供者 126
10.3.2 数据集 130
10.4 小结 132
第11章 Visual Basic.NET中的错误处理 134
11.1 错误类型 134
11.1.1 语法错误 134
11.1.2 运行期间错误 134
11.1.3 语义的/逻辑的错误 135
11.2 Exception类 135
11.3 构化错误处理 136
11.4 非结构化的异常处理 139
11.4.1 On Error GoTo<Line>语句 139
11.4.2 On Error Resume Next语句 140
11.4.3 On Error GoTo 0语句 140
11.4.4 On Error GoTo-1语句 141
11.5 调试工具 141
11.5.1 断点 142
11.5.2 Watch窗口 144
11.5.3 QuickWatch对话框 146
11.5.4 Autos窗口 147
11.5.6 Call Stack窗口 148
11.5.5 Locals窗口 148
11.6 小结 149
第12章 设计“用户”模块的用户界面 150
12.1 Main窗体 150
12.2 “查询”窗体 152
12.3 “注册”窗体 158
12.4 “定购”窗体 161
12.5 小结 165
第13章 向Main窗体添加功能 166
13.1 CmdRegCustomer_Click函数 167
13.2 IsCustomerIDValid函数 168
13.3 CmdRegister_Click函数 169
13.4 CmdSearch_Click函数 169
13.5 CmdExit_Click函数 170
13.6 Main窗体的完整代码 170
13.7 小结 172
第14章 向“查询”窗体添加功能 173
14.1 FrmSearch_Load函数 174
14.2 CmdSearch_Click函数 175
14.3 SetRegistrationID函数 178
14.4 CmdPlaceOrder_Click函数 179
14.5 CmdExit_Click函数 180
14.6 “查询”窗体的完整代码 180
14.7 小结 184
第15章 向“注册”窗体添加功能 185
15.2 CmdSubmitReg_Click函数 186
15.1 FrmRegistration_Load函数 186
15.3 CmdClear_Click函数 190
15.4 Empty_Controls函数 190
15.5 CmdCancel_Click函数 191
15.6 “注册”窗体的完整代码 191
15.7 小结 195
第16章 向“定购”窗体添加功能 196
16.1 SetRegistrationID函数 200
16.2 SetSelectedMovies函数 200
16.3 FrmOrder_Load函数 201
16.4 CmdOrderNow_Click函数 203
16.5 GetAutoGeneratedOrderID函数 207
16.7 “定购”窗体的完整代码 209
16.6 CmdCancel_Click函数 209
16.8 小结 215
第17章 设计“管理”模块的用户界面 216
17.1 Main窗体 216
17.2 “添加演员信息”窗体 220
17.3 “添加导演信息”窗体 221
17.4 “添加制片人信息”窗体 223
17.5 “添加视频信息”窗体 225
17.6 “添加电影信息”窗体 226
17.7 “添加顾客信息”窗体 229
17.8 “修改/删除”窗体 232
17.9 Reports窗体 235
17.10 小结 237
第18章 向Main窗体添加功能 238
18.1 MitmActor_Click函数 239
18.2 MitmDirector_Click函数 240
18.4 MitmVideo_Click函数 240
18.3 MitmProducer_Click函数 240
18.7 MitmUpdateDelete_Click函数 241
18.6 MitmCustomer_Click函数 241
18.5 MitmMovie_Click函数 241
18.8 MitmDailySales_Click函数 242
18.9 MitmMoviesInDemand_Click函数 242
18.10 MitmCustDetails_Click函数 242
18.11 MmnuExit_Click函数 243
18.12 Main窗体的完整代码 243
18.13 小结 245
第19章 向“修改/删除”窗体添加功能 246
19.1 FrmUpdateDelete_Load 函数 247
19.2 CmbSearchIn_SelectedIndexChanged函数 248
19.3 HandleComboIndexes()函数 248
19.4 CmdSearch_Click函数 249
19.5 CmdUpdate_Click函数 260
19.6 CmdDelete_Click函数 262
19.8 CmdCancel_Click函数 264
19.9 “修改/删除”窗体的完整代码 264
19.7 CmdClear_Click函数 264
19.10 小结 277
第20章 向Insert窗体添加功能 278
20.1 “添加演员信息”窗体 278
20.1.1 SetUpdateID函数 279
20.1.2 FrmInsertActor_Load函数 279
20.1.3 CmdSubmit_Click函数 281
20.1.4 CmdCancel_Click函数 284
20.1.5 “添加演员信息”窗体的完整代码 284
20.2 “添加导演信息”窗体 288
20.3 “添加制片人信息”窗体 292
20.4 “添加视频信息”窗体 296
20.5 “添加电影信息”窗体 300
20.6 “添加顾客信息”窗体 306
20.7 小结 311
第21章 向Reports窗体添加功能 312
21.1 FrmReport_Load函数 314
21.2 MmnuExit_Click函数 318
21.3 Reports窗体的完整代码 318
21.4 小结 322
项目3 创建Web应用程序 323
第22章 项目个案研究——为MyMovies视频售货亭创建Web应用程序 324
22.1 MyMovies视频售货亭:Windows应用程序 324
22.2 MyMovies Web应用程序:解决方案 324
22.2.1 需求分析 324
22.2.2 总体设计 325
22.3 小结 330
23.1 ASP.NET概述 331
第23章 从学习ASP.NET开始 331
23.1.1 ASP.NET程序设计模型 333
23.1.2 ASP.NET平台需求 333
23.2 创建Web窗体 334
23.2.1 Web窗体组件 334
23.2.2 设计Web窗体 335
23.2.3 IIS应用程序根目录 338
23.3 ASP.NET服务器控件 341
23.3.1 服务器控件的类型 341
23.3.2 HTML服务器控件和Web控件之间的区别 342
23.3.3 向窗体添加Web控件 342
23.3.4 设置Web控件的属性 343
23.3.5 处理Web控件的事件 344
23.3.6 常用的Web控件 345
23.4 验证控件 345
23.4.1 什么是验证控件 346
23.4.2 使用验证控件 346
23.4.3 使用多个验证控件 351
23.5 小结 352
第24章 深入学习ASP.NET 353
24.1 配置ASP.NET应用程序 353
24.2 ASP.NET应用程序安全性机制 355
24.3 小结 357
25.1 Web服务概述 358
第25章 Web服务 358
25.1.1 Web服务结构体系 359
25.1.2 Web服务的工作方式 360
25.2 Web服务使用的技术 361
25.2.1 Web服务中的XML 362
25.2.2 Web服务中的WSDL 362
25.2.3 Web服务中的SOAP 362
25.2.4 Web服务中的UDDI 363
25.3 .NET框架中的Web服务 363
25.4 在.NET框架中创建简单的Web服务 364
25.5 小结 367
26.1 主页 368
第26章 设计顾客界面 368
26.2 Search页面 371
26.3 Account Details页面 381
26.4 Customer Registration页面 384
26.5 小结 387
第27章 向顾客界面添加功能 388
27.1 Customer Registration页面的编码 388
27.1.1 Page_Load函数 389
27.1.2 CmdCustDetails_click函数 389
27.2 Customer Login界面的编码 392
27.3 Search页面的编码 395
27.3.1 Page_Load函数 396
27.3.4 CmdSearch_Click函数 398
27.3.3 CmdShowAllRecords_Click函数 398
27.3.2 DataGrid1_PageIndexChanged函数 398
27.3.5 DataGrid1_ItemCommand函数 399
27.3.6 DataGrid3_CancelCommand函数 402
27.3.7 DataGrid3_EditCommand函数 402
27.3.8 DataGrid3_UpdateCommand函数 402
27.3.10 CmdPlaceOrder_Click函数 404
27.3.9 DataGrid3_DeleteCommand函数 404
27.4 Account Details页面的编码 406
27.4.1 BtnGetData_Click函数 407
27.4.2 DgAccountDetails_ItemCommand函数 409
27.4.3 CustomValidatorl_ServerValidate函数 409
27.5 小结 410
第28章 设计管理界面 411
28.1 AdminHomePage页面 411
28.2 Movies页面 414
28.3 Video页面 420
28.4 Actors页面 424
28.5 Director页面 428
28.6 Producer页面 433
28.7 Customer页面 436
28.8 ShowReports页面 438
28.9 小结 439
第29章 向管理界面添加功能 440
29.1 Movies超链接的代码 441
29.1.1 Edit超链接的代码 441
29.1.2 Update超链接的代码 441
29.1.3 Cancel超链接的代码 443
29.1.4 删除记录的代码 443
29.1.5 浏览数据网格页面 444
29.1.6 插入记录的代码 444
29.1.7 Add New Record按钮的代码 445
29.2 Videos超链接的代码 447
29.2.1 编辑Video记录的代码 447
29.2.2 更新Video记录的代码 448
29.2.4 浏览页面的代码 449
29.2.3 Cancel超链接的代码 449
29.2.5 Add New Video按钮的代码 449
29.3 Actors超链接的代码 451
29.4 Directors超链接的代码 455
29.5 Producers超链接的代码 459
29.6 Customers超链接的代码 462
29.7 View Reports超链接的代码 467
29.7.1 创建销售报表的代码 468
29.7.2 创建Movies in Demand报表的代码 469
29.7.3 创建Frequent Customer Details报表的代码 470
29.7.4 浏览DataGrid控件的页面 471
29.8 小结 473
项目4 创建Word-XML转换器应用程序 474
30.1 XML概述 475
第30章 从学习XML开始 475
30.1.1 XML与HTML 476
30.1.2 XML的优势 478
30.1.3 XML文档概述 478
30.1.4 格式良好的XML文档的基本规则 479
30.2 XML规范 480
30.2.1 DTD 480
30.2.2 XML命名空间 483
30.2.3 XML DOM 483
30.2.4 XML的简单API 485
30.2.5 XSLT 485
30.2.6 XML模式 487
30.3 验证XML数据 491
30.3.1 DTD验证 491
30.3.2 XDR验证 491
30.3.3 XSD验证 491
30.4 XML与关系数据的集成 492
30.5 与XML文档的数据绑定 492
30.6 小结 493
第31章 项目个案研究——Word-XML转换器应用程序 494
31.1 项目个案研究 494
31.2.2 问题的解决方案 495
31.2.3 总体设计 495
31.2.1 需求分析 495
31.2 项目生存期 495
31.2.4 详细设计 500
31.3 小结 502
第32章 编码转换器应用程序 503
32.1 编写应用程序的程序设计逻辑 503
32.2 编码应用程序 503
32.2.1 窗体Load事件的编码 503
32.2.2 Created事件 509
32.2.3 在“事件日志”中显示错误消息 511
32.2.4 在列表框中显示事件条目 512
32.2.5 在标签中显示Summary.xml文档的数据 513
32.2.6 “退出”按钮的编码 514
32.3 小结 525
项目5 移动Web应用程序 526
33.1 MarkupToys的项目生存期 527
第33章 项目个案研究——移动测验应用程序 527
33.1.1 需求分析 528
33.1.2 总体设计 528
33.1.3 详细设计 529
33.1.4 测试 529
33.1.5 接收 529
33.2 数据库模式 529
33.3 小结 530
第34章 编码移动测验应用程序 531
34.1 WAP概述 531
34.1.1 Mobile Internet Toolkit 532
34.1.2 移动Web窗体 532
34.2 创建移动Web应用程序 533
34.3 为移动测验应用程序创建窗体 534
34.4 测试移动Web应用程序 544
34.5 小结 550
第7部分 附录 551
附录A .NET的前景和目标 551
A.1 .NET前景 551
A.2 .NET的基本原理 551
A.2.1 表示层 552
A.2.2 业务逻辑/应用层 552
A.2.3 数据访问和存储 552
A.3 .NET框架的优势 552
A.4 .NET中结构体系的变化 553
A.5 技术改变和开发人员的挑战 553
A.6 .NET框架的设计目标 554
A.6.1 可用性 554
A.6.2 可控性 557
A.6.4 可靠性 558
A.6.3 性能 558
A.6.5 可缩放性 559
A.6.6 安全性 560
附录B 在Visual Basic.NET中开发控制台应用程序 562
附录C 图形设备接口 564
C.1 GDI分类 564
C.1.1 二维矢量图 564
C.1.2 位图 564
C.1.3 文本 564
C.2 实现GDI 564
附录D 本地化 567
D.1 理解字符集 567
D.2 配置设置 567
D.3 文化和地区 568
D.4 CultureInfo类 568
D.5 RegionInfo类 570
D.6 资源文件 571
D.7 使用VB.NET创建本地化的应用程序 572
附录E 部署Windows应用程序 576
E.1 Microsoft Windows Installer文件 576
E.2 合并模块 576
E.3 CAB(Cabinet)文件 577
E.4 保存安装程序文件 577
E.5 部署项目 577
E.5.1 File System编辑器 578
E.5.2 Registry编辑器 578
E.5.3 File Type编辑器 578
E.5.4 User Interface编辑器 578
E.5.5 Custom Actions编辑器 578
E.5.7 添加文件 579
E.5.6 Launch Conditions编辑器 579
E.5.8 增强部署项目 580
E.5.9 验证部署项目 583
E.6 开发merge模块项目 584
E.7 开发CAB项目 584
附录F .NET系列 586
F.1 .NET Enterprise Servers 586
F.1.1 Application Center 2000 586
F.1.2 BizTalk Server 2000 587
F.1.3 Commerce Server 2000 587
F.1.4 Content Management Server 2001 588
F.1.5 Exchange 2000 588
F.1.6 Host Integration Server 2000 589
F.1.7 Internet Security and Acceleration(ISA)Server 589
F.1.9 SharePoint Portal Server 2001 590
F.1.8 Mobile Information 2001 Server 590
F.1.10 SQL Server 2000 591
F.2 .NET Passport服务 592
F.2.1 .NET Passport Single Sign-In 594
F.2.2 .NET Passport Express Purchase 594
F.2.3 Kids.NET Passport服务 595
F.3 Visual Studio.NET 598
F.3.1 Web Forms的实现 599
F.3.2 Web服务的实现 599
F.3.3 Windows Forms的实现 599
F.3.4 项目无关对象模型的实现 600
F.3.5 增强的调试 600
F.3.6 对ASP.NET程序设计的支持 600
F.3.7 增强的IDE 600