1.1 本书内容 1
第1章 Visual Basic、Crystal Report与.NET Framework 1
1.2 .NET Framework简介 2
1.3 Crystal Report简介 2
1.4 轻松进入.NET Framework环境 3
1.4.1 .NET软硬件基本需求 3
1.4.2 .NET运行简介 5
1.4.3 安装.NET Framework 6
2.1.1 关于安装Visual Studio.NET 10
第2章 .NET程序设计基础 10
2.1 关于Visual Studio.NET 10
2.1.2 激活Visual Studio.NET 11
2.2 Visual Studio.NET开发环境介绍 12
2.2.1 Windows应用程序与Web应用程序 12
2.2.2 开始第一个项目 15
2.2.3 Visual Basic.NET Windows应用程序设计基础 16
2.2.4 Visual Basic.NET Web应用程序设计基础 20
2.3.1 面向对象支持 22
2.3 如果你曾经用过Visual Basic 22
2.3.2 Web应用程序开发支持 23
2.3.3 项目管理 23
2.3.4 建立组件部分 23
2.3.5 Debug环境的变更 24
2.3.6 安装和部署的不同 24
2.4 如果你曾经用过ASP 24
2.4.1 利用Web窗体来构建程序 24
2.4.3 程序代码和网页分离 25
2.4.2 少了许多窗体传值与接值动作及前端程序代码 25
2.4.4 变量的声明、定义与使用 26
2.4.5 支持完整的面向对象 26
2.4.6 项目较具结构化 27
2.4.7 搭配完美的断点检测与单步执行 27
2.4.8 ASP.NET与Visual Basic.NET和C#的三角关系 27
第3章 使用Visual Basic.NET开发Windows应用程序 28
3.1 建立一个Windows应用系统项目 28
3.2 传统的基本输出与输入 30
3.3 “窗体半透明”特殊效果 31
3.4.1 窗体的基类事件 32
3.4 .NET中不同的Windows窗体控制与面向对象 32
3.4.2 对象化的窗体调用 33
3.5 流程控制、变量运算与面向对象 34
3.5.1 Do...Loop与While...End 34
3.5.2 For...Next与For Each...Next 36
3.5.3 Choose、If...Then...Else、Select Case与Switch 37
3.5.4 Function、Sub与面向对象程序设计 39
3.5.6 Visual Basic.NET中变量的声明 45
3.5.5 Visual Basic 6.0函数的使用 45
3.5.7 New关键字与动态建立对象 46
3.5.8 Visual Basic.NET变量的运算 48
3.6 .NET控件介绍 48
3.6.1 基本控件 49
3.6.2 高级控件 53
3.6.3 窗口放置相关控件 64
3.6.4 ErrorProvider控件 70
3.6.5 Dialogs相关控件 71
3.6.6 数据库相关控件 72
3.7 利用ADO连接的基本数据库操作 73
3.6.7 Crystal Report控件 73
3.7.1 在Visual Basic.NET使用ADO 74
3.7.2 连接Access数据库 74
3.7.3 连接SQL数据库 75
3.7.4 连接ODBC数据库 76
3.7.5 利用SQL语句对数据库进行新增、修改、删除 77
3.8 客户数据管理系统——Windows应用程序开发实例 80
3.8.1 应用程序功能 81
3.8.2 MDI主窗体、TreeView菜单与分支程序 83
3.8.3 客户数据维护 87
3.8.4 非强制响应式查询窗口(子窗体设计) 88
3.8.5 数据库访问处理 89
3.8.6 Master-Detail数据库处理 91
3.8.7 Crystal Report报表制作 99
第4章 高级.NET Windows程序设计 107
4.1 对象数组怎么不见了 107
4.2 关于事件的传入参数sender与e 109
4.3 默认属性的取消与控件的面向对象风格 110
4.4 如何由程序代码产生对象 111
4.5 如何从程序中直接读取网页内容 112
4.6 On Error错误处理和Try...Catch...Finally 114
4.7 编写多线程程序 115
5.1 ASP与ASP.NET的异同 118
第5章 使用ASP.NET开发Web应用程序 118
5.2 Web窗体对象介绍 119
5.3 Web窗体上数据的输出与输入 120
5.3.1 Response方法——传统的网页文字输出 120
5.3.2 Request方法——网址参数 123
5.3.3 Request方法——窗体数值的传递与接收 125
5.4 数据的传递与保留 127
5.4.1 Session 127
5.3.4 Request的其他特殊功能 127
5.4.2 .vb模块文件与类似Application的全局变量 130
5.5 Web窗体的最佳助手——Web控件 134
5.5.1 基本控件TextBox、Button和Literal 136
5.5.2 表格的使用——Web Table控件 139
5.5.3 Calendar控件 140
5.5.4 AdRotator 142
5.5.5 PlaceHolder控件 143
5.5.6 Validator对象 144
5.5.7 XML 150
5.5.8 Microsoft IE WebControls 1.0 155
5.5.9 利用TreeView与XML构建多层菜单系统 156
5.5.10 Web应用程序上的Crystal Report控件 161
5.6 如何与前端Java Script整合 162
5.6.1 弹出窗口Alert() 162
5.6.2 一般HTML对象的JavaScript 163
5.7 电子布告栏(留言板)——Web应用程序开发实例(1) 165
5.7.1 系统架构 165
5.7.2 数据结构 165
5.7.3 系统程序说明 168
5.7.4 与Java Script的结合 177
5.7.5 建立子程序模块(.vb文件) 178
5.7.6 关于一般〈table〉与〈asp∶table〉意义上的差别 185
5.7.7 后端管理接口 186
5.8 Web应用程序中的项目内容 186
5.8.1 项目的文件管理 186
5.8.2 Web.Config 187
5.8.3 Global.asax 188
5.9 Code Behind带来的影响 189
5.11 建立的项目为何无法执行 190
5.10 为何无法建立Web项目 190
5.12 联机问卷调查系统——Web应用程序开发实例(2) 192
5.12.1 问卷系统执行画面 192
5.12.2 数据结构 193
5.12.3 系统程序内容——产生问卷部分 198
5.12.4 系统程序内容——用户答题后 202
5.12.5 系统程序内容——问卷实时统计报表 205
5.12.6 利用Crystal Report达到Web报表显示新境界 208
第6章 高级Web应用程序设计 209
6.1 在Web应用程序中自动产生对象 209
6.2 电子邮件传送 213
6.3 文件上传 217
6.4 文件目录与文件的操作 221
6.5 取得程序执行路径 228
6.6 彻底解决Timeout问题——可运行八小时的网页 230
6.7 会员登录与权限管理机制——Web应用程序开发实例(3) 236
6.7.1 Web应用程序实例——会员登录界面 236
6.7.2 登录系统画面 238
6.7.3 系统程序说明 239
6.8 建立Pagelet-Web窗体用户控件 247
6.7.4 关于权限的使用方式 247
6.7.5 如何新增、修改或删除用户的权限与帐号 247
6.8.1 建立Web窗体用户控件 248
6.8.2 在Web窗体网页中应用用户控件 250
6.8.3 访问用户控件的属性 251
6.8.4 转换Web窗体网页为用户控件 252
第7章 Web服务程序设计 255
7.1 什么是Web服务 255
7.2 在Visual Basic.NET中使用Web服务 257
7.3 Web服务的服务描述 261
7.4 利用Visual Basic.NET设计Web服务应用程序 263
7.5 如何在Web服务当中使用数据库 266
7.6 Zip Code Web服务程序说明 268
第8章 ADO.NET与数据库程序设计 276
8.1 ADO.NET简介 276
8.2 ADO.NET如何连接至数据库 276
8.3 实际利用ADO.NET语法连接至数据库 278
8.4 ADO.NET的核心DataSet 280
8.5.2 DataTable对象的AcceptChanges方法 282
8.5 数据的编辑与修改 282
8.5.1 BeginEdit方法与EndEdit方法 282
8.6 数据记录的删除 283
8.7 数据记录的新增 284
8.8 数据记录的搜索与过滤 285
8.9 使用Windows窗体的DataGrid控件 289
8.10 将编辑过的数据保存到数据库 291
8.11 比较ADO.NET和ADO 293
8.12 Web窗体的ADO.NET数据互动组件 294
8.12.1 DataGrid组件 294
8.12.2 DataGrid格式的调整与属性产生器 295
8.12.3 利用DataGrid对数据进行分页 299
8.12.4 在DataGrid中编辑数据 300
8.12.5 在DataGrid中删除数据 304
8.13 将编辑过的数据保存至数据库 305
第9章 建立你的第一个Crystal Report报表 306
9.1 Crystal Report的报表设计环境 306
9.2 第一个报表 311
9.3 CrystalReportView对象的功能 313
10.1 报表专家 317
第10章 专业的Crystal Report报表设计 317
10.2.1 报表大小格式设置 328
10.2 关于报表页面与节的配置 328
10.2.2 报表边界 329
10.2.3 报表页眉、报表页脚 329
10.2.4 页眉、页脚 329
10.2.5 详细资料 330
10.3 不使用报表专家——手动设置数据库 331
10.4 加入数据库字段 334
10.5.1 文字字体 336
10.5 美化你的报表 336
10.5.2 使用图形、线条 337
10.5.3 字段的格式化 338
第11章 报表字段的格式设置 340
11.1 数值字段的公式设置 340
11.1.1 小数点分隔符 340
11.1.2 小数点位数与进位数 343
11.1.3 负数 344
11.1.8 起始零 345
11.1.7 符号 345
11.1.9 将零值显示为 345
11.1.5 允许字段剪辑 345
11.1.4 反转显示符号 345
11.1.6 千位分隔符 345
11.2 日期字段的公式设置 346
11.2.1 日期类型 347
11.2.2 日历类型 347
11.2.3 格式 347
11.2.4 年月日、日月年、月日年选项 349
11.2.5 一周的某天 349
11.3.1 12小时或24小时时制 350
11.3.2 时、分、秒的设置 350
11.2.6 分隔符 350
11.3 时间字段的公式设置 350
11.4 一般文字字段的公式设置 351
11.4.1 抑制显示 351
11.4.2 水平对齐 351
11.4.3 将对象保持在一起 351
11.4.7 工具提示文字 352
11.4.6 最大行数 352
11.4.5 可以扩大 352
11.4.4 换页时关闭边框 352
11.4.8 文本旋转 354
11.4.9 若重复则抑制显示 355
11.4.10 【边框】、【字体】与【段落】等选项卡 356
11.4.11 【超级链接】选项卡 357
11.5 其他的字段格式设置——更改突出显示 358
11.6 利用选择专家来过滤数据 360
11.8 利用Visual Basic语法来设计公式 362
11.7 不同类型的选项中公式的设计方式 362
第12章 报表排序、过滤、节、组 364
12.1 利用程序动态排序报表数据 364
12.2 利用程序动态过滤报表数据 368
12.3 利用节专家调整报表节 371
12.4 利用组节将数据分类 376
12.4.1 加入报表组 377
12.4.2 组内数据的排序 383
12.4.3 组小计字段 385
12.4.4 将小计字段显示成平均值 386
12.4.5 以百分比显示 388
12.4.6 报表总计字段 388
12.4.7 报表汇总字段 390
12.4.8 运行总计字段 391
12.5 利用公式作为分组依据 392
12.6 加入多个组处理(嵌套组) 396
12.6.1 新增公式 396
12.6.2 建立第二个组 398
12.6.4 改变组的顺序 400
12.6.3 加入小计字段 400
12.7 在程序中动态地改变组节设置 401
12.8 报表设计时“节格式设置” 402
12.9 “水印”效果 406
12.10 组节并排效果 407
第13章 使用公式字段 408
13.1 如果您曾经用过DOS程序来产生报表 408
13.2 以SQL语句(命令)作为数据源 410
13.3 插入公式字段 412
13.3.1 公式字段的基本功能 413
13.3.2 公式字段的“小计”和“总计”功能 415
13.4 公式字段编辑器 419
13.4.1 【公式编辑器】的工具栏中的按钮 420
13.4.2 Crystal语法或Basic语法 421
13.4.3 公式字段中的语法 421
13.5 公式字段的类型 422
13.6 在公式字段中使用判断句 423
13.6.1 Select...Case 424
13.6.2 If...then...else 424
13.8 在公式字段中使用Crystal Report函数 425
13.7 在公式中定义变量 425
13.8.1 数字和统计函数 426
13.8.2 日期及时间相关函数 428
13.8.3 字符串函数 433
13.8.4 报表信息函数 435
13.8.5 报表打印信息函数 436
13.8.6 类型转换函数 436
13.8.7 其他重要函数 438
13.8.8 关于一开始的问题 438
14.1.1 何时需要参数字段 440
第14章 参数字段 440
14.1 从程序中动态的改变报表标题或制表者姓名 440
14.1.2 利用临时数据表传递报表头参数 441
14.1.3 在Crystal Report报表中加入参数字段 442
14.2 从程序中设置参数字段的值 446
14.3 参数字段的相关设置 449
14.4 在公式中使用参数字段 452
14.5 参数字段的其他应用——获取实时汇率 452
15.1 动态建立报表与图表需要的数据 453
第15章 建立图表 453
15.2 将ADO的Recordset转换成ADO.NET的DataTable 456
15.3 图表在页面上的配置 458
15.4 使用图表工具 459
15.5 在网络上使用图表 460
第16章 建立子报表 466
16.1 什么是子报表 466
16.2 如何建立子报表 467
16.3 按需要显示子报表 470
16.4 重新导入子报表 471
第17章 数据导出与打印 472
17.1 报表导出的文件格式 473
17.2 报表导出程序指令 474
17.3 如何让Web应用程序在Client端一样可以导出报表 475
17.4 报表打印之打印机设置 479
17.5 在程序中将报表从打印机打印出来 479
第18章 再谈报表文件与数据库的连接 482
18.1 在报表中新增一个数据库连接 482
18.2 动态建立临时数据表 486
18.3 如何在程序中动态指定报表使用的数据库 487
18.4 如何在Web应用程序中动态指定报表使用的数据库 488
18.5 在程序中建立临时数据表 489
18.6 将报表连接至临时数据表 492
18.7 删除临时数据表 493
18.8 动态连接至ADODB.Recordset 494
18.9 动态连接至DataSet(ADO.NET) 496
18.10 动态加载用户选定的报表文件 498
附录A Report Document对象模型 500
附录B .NET中的数据类型 501
附录C 不同语言的控件与对象比较 508