第一部分 需求篇 2
第1天 程序员职业发展 2
1.1 为什么要成为一名程序员 2
1.1.1 程序员就业前景 2
1.1.2 程序员的理想抱负 3
1.2 优秀程序员应当具备的素质 3
1.2.1 强烈的求知欲望 3
1.2.2 较强的安全意识 4
1.2.3 较强的英语能力 4
1.2.4 对代码有较强的敏感性 4
1.2.5 有编写高品质代码的追求 4
1.3 求职建议 5
1.3.1 带着项目作品找工作 5
1.3.2 大平台成就人生大舞台 5
1.3.3 加入软件公司还是企业IT部门 5
1.3.4 及时获取招聘信息 7
1.4 程序员应当长期准备的三件事 7
1.4.1 写博客 7
1.4.2 参与开源项目 7
1.4.3 十年磨一剑 7
1.5 本章小结 8
第2天CRM是什么 9
2.1 企业信息化概述 9
2.1.1 企业信息化是什么 9
2.1.2 企业管理信息系统组成 10
2.1.3 企业管理信息系统建设途径 11
2.1.4 企业管理信息系统建设误区 12
2.2 CRM概述 13
2.2.1 客户背景介绍 13
2.2.2 CRM建设步骤 14
2.3 CRM需求分析方法 14
2.3.1 业务场景梳理 14
2.3.2 了解管理者关心的问题 15
2.3.3 需求调研表 16
2.3.4 可行性分析 23
2.4 本章小结 25
第3天CRM解决方案 27
3.1 CRM业务信息化解决方案 27
3.1.1 背景介绍 27
3.1.2 系统特点 27
3.1.3 功能模块 28
3.1.4 技术特点 28
3.1.5 运行环境 29
3.2 CRM系统设计方案 29
3.2.1 服务器端设计方案 29
3.2.2 客户端设计方案 31
3.2.3 数据库设计方案 31
3.2.4 应用系统框架设计方案 32
3.2.5 业务设计方案 34
3.3 本章小结 38
第二部分 基础篇 40
第4天WinForm编程入门 40
4.1 Visual Studio 2013介绍 40
4.1.1 安装 40
4.1.2 熟悉开发环境 40
4.1.3 常用设置 43
4.2 WinForm项目 45
4.2.1 Hello World 45
4.2.2 调试 47
4.2.3 异常处理 48
4.2.4 编译及发布 51
4.3 认识公共控件 52
4.3.1 窗体Form 52
4.3.2 为控件添加事件 57
4.3.3 按钮Button 58
4.3.4 消息对话框MessageBox 60
4.3.5 文本框TextBox 60
4.3.6 下拉框ComboBox 62
4.3.7 复选框和单选按钮 66
4.3.8 日期时间选择框DateTimePicker 68
4.3.9 富文本框RichTextBox 71
4.3.10 进度条ProgressBar 73
4.3.11 树TreeView 75
4.3.12 图像PictureBox 79
4.3.13 浏览器WebBrowser 80
4.3.14 数据表格DataGridV iew 81
4.3.15 布局控件TableLayoutPanel 87
4.4 认识容器 88
4.5 认识菜单和工具栏 90
4.5.1 菜单栏MenuStrip 90
4.5.2 弹出菜单ContextMenuStrip 92
4.5.3 状态栏StatusStrip 92
4.6 认识对话框 92
4.6.1 选择文件对话框 92
4.6.2 浏览文件夹对话框 94
4.6.3 保存文件对话框 94
4.6.4 颜色选择对话框 95
4.6.5 字体选择对话框 96
4.7 认识定时器和图表 97
4.7.1 定时器Timer 97
4.7.2 图表Chart 98
4.8 其他控件 100
4.8.1 用户控件 100
4.8.2 使用COM控件 103
4.8.3 第三方控件DotNetBar 104
4.9 界面设计规范 105
4.10 本章小结 105
第5天C#入门 107
5.1 C#基础知识 107
5.1.1 数据类型 107
5.1.2 变量 107
5.1.3 字符串操作 111
5.1.4 运算符 113
5.1.5 条件语句 114
5.1.6 循环 116
5.1.7 数组和泛型集合 117
5.1.8 类 120
5.1.9 函数 121
5.2 拓展练习 123
5.2.1 定时访问网页 123
5.2.2 执行CMD命令 126
5.2.3 使用JS图表 127
5.2.4 DataGridView拖动行 128
5.2.5 登录窗体设计 129
5.2.6 域账号弱密码检查工具 131
5.2.7 DES加解密 133
5.3 编码规范 134
5.4 本章小结 136
第6天C#文件操作 137
6.1 文件及文件夹 137
6.1.1 路径 137
6.1.2 文件操作 138
6.1.3 文件夹操作 142
6.2 文本文件操作 147
6.2.1 读取文本文件 148
6.2.2 写入文本文件 149
6.3 图像文件操作 151
6.3.1 图像文件格式 151
6.3.2 加水印 151
6.3.3 修改图像文件格式 152
6.3.4 生成缩略图 153
6.4 配置文件 153
6.4.1 加入App.config文件 153
6.4.2 参数读写 155
6.4.3 连接字符串读写 156
6.5 拓展练习 156
6.5.1 小票打印 157
6.5.2 发送短信 162
6.5.3 来电弹屏 166
6.6 本章小结 167
第7天SQL Server数据库 168
7.1 SQL Server 2014 Express安装部署 168
7.1.1 安装过程 168
7.1.2 网络配置 172
7.1.3 熟悉SQL Server Management Studio 174
7.1.4 账号与权限控制 177
7.2 数据库基础 179
7.2.1 新建数据库 179
7.2.2 设计表 180
7.2.3 新建视图 184
7.2.4 数据库关系图 186
7.2.5 用户自定义函数 187
7.2.6 存储过程 188
7.2.7 触发器 190
7.2.8 临时表 191
7.3 SQL基础 192
7.3.1 查询语句 193
7.3.2 更新语句 195
7.3.3 动态执行SQL 196
7.3.4 数据分页 197
7.3.5 游标 198
7.3.6 调试 200
7.3.7 递归函数 200
7.4 SQL系统函数 201
7.4.1 字符串函数 201
7.4.2 日期函数 203
7.4.3 统计函数 204
7.4.4 数学函数 204
7.4.5 类型转换 206
7.5 拓展练习 207
7.5.1 自定义函数iszero 207
7.5.2 自定义加密函数MD50 207
7.5.3 自定义函数split0 208
7.5.4 递归函数 209
7.5.5 在线人数 210
7.5.6 SQL Server区分大小写设置 212
7.6 本章小结 214
第8天C#操作数据库 215
8.1 连接SQL Server数据库 215
8.2 SQL Server数据库连接池 216
8.3 记录操作 217
8.4 DataTable基础 220
8.5 DataTable查询和汇总 222
8.6 数据库配置工具 226
8.7 拓展练习 229
8.7.1 连接MySQL 229
8.7.2 SQLHelper 230
8.7.3 NHibemate 230
8.8 本章小结 236
第9天ASP. NET Web Service入门 237
9.1 安装Internet信息服务(IIS) 237
9.1.1 安装IIS 7 237
9.1.2 安装ASP.NET 238
9.2 Web Service项目入门 239
9.2.1 创建项目 239
9.2.2 调试项目 240
9.3 C#调用ASP.NET Web Service 242
9.4 Web Service连接数据库 243
9.5 拓展练习 244
9.5.1 全局热键 244
9.5.2 多窗体标签 247
9.5.3 人民币金额大写 254
9.5.4 客户端时间同步 257
9.5.5 代码样式生成器 257
9.6 本章小结 259
第三部分 提 高篇 261
第10天 服务器端Web Service开发 261
10.1 自动添加版权信息 261
10.2 HYWS项目 262
10.2.1 配置文件 262
10.2.2 MyFuncLib类 263
10.2.3 登录和注销 268
10.2.4 数据库操作 270
10.2.5 文件管理 271
10.3 发布HYWS项目 274
10.4 非打印控制字符 275
10.5 本章小结 277
第11天 主窗体开发 278
11.1 准备工作 278
11.2 主窗体布局设计 278
11.3 TagData类 280
11.4 ListItem类 281
11.5 MyFuncLib类 282
11.6 登录Web Service 290
11.7 导航菜单 291
11.8 为多窗体标签添加关闭按钮 294
11.9 状态栏 296
11.10 本章小结 297
第12天 基础功能 298
12.1 消息对话框 298
12.2 输入框 300
12.3 登录窗体 302
12.4 修改密码 303
12.5 本章小结 305
第13天 树形结构和菜单管理 306
13.1 数据结构及演变过程 306
13.2 TreeView基本操作 310
13.3 菜单管理 317
13.3.1 表结构设计 317
13.3.2 显示数据 318
13.3.3 修改数据 322
13.4 窗体复用 323
13.5 调用子窗体的公共方法 324
13.6 本章小结 326
第14天 组织架构 327
14.1 部门管理 327
14.2 岗位管理 327
14.3 账号管理 328
14.4 组织架构选择框 336
14.5 本章小结 339
第15天 权限管理 340
15.1 权限概述 340
15.2 角色表 341
15.3 操作权限表 341
15.4 SQL语句表 342
15.5 角色关系表 342
15.6 权限分配 344
15.7 权限控制 346
15.8 本章小结 348
第16天WinForm表单开发步骤总结 349
16.1 需求分析 349
16.2 表结构设计 349
16.3 窗体布局 350
16.4 编码实现 350
16.5 数据静态化 355
16.6 拓展练习之模拟键盘录入 355
16.7 本章小结 357
第17天 系统管理 358
17.1 基础数据 358
17.2 系统参数 359
17.3 字段设置 360
17.4 系统日志 363
17.5 本地配置文件 364
17.6 自动登录 367
17.7 锁定主窗体 368
17.8 开机启动 369
17.9 计划任务 370
17.10 本章小结 371
第18天Excel导入导出 372
18.1 Excel读取 372
18.1.1 COM组件方式 372
18.1.2 OLEDB方式 374
18.2 Excel导出 375
18.3 拓展练习 378
18.3.1 年会抽奖软件 378
18.3.2 万能导入工具 383
18.4 本章小结 387
第19天 文件管理 388
19.1 表结构设计 388
19.2 文件上传 388
19.3 文件下载 391
19.4 文档管理 392
19.5 拓展练习 395
19.5.1 Lucene.Net全文检索 395
19.5.2 JSON序列化和反序列化 398
19.6 本章小结 401
第20天 客户端自动更新 402
20.1 C/S和B/S结构 402
20.2 自动更新工具运行原理 403
20.3 创建项目HYUpdate 403
20.4 检查进程 404
20.5 下载更新文件清单 405
20.6 下载更新文件 405
20.7 IIS 7文件下载限制 407
20.8 本章小结 408
第21天 消息机制 409
21.1 实现方法 409
21.2 站内消息 411
21.3 发送邮件提醒 413
21.4 发送即时消息提醒 414
21.5 发送短信提醒 419
21.6 拓展练习 421
21.6.1 二维码名片 421
21.6.2 反射与Dynamic效率比较 423
21.7 本章小结 426
第四部分 实 战篇 428
第22天 客户档案管理 428
22.1 系统设计 428
22.1.1 功能要求 428
22.1.2 表结构设计 428
22.1.3 程序界面设计 430
22.2 主要功能开发 430
22.3 本章小结 435
第23天 联系人管理 436
23.1 系统设计 436
23.1.1 功能要求 436
23.1.2 表结构设计 436
23.1.3 程序界面设计 437
23.2 主要功能开发 438
23.3 本章小结 439
第24天 拜访记录管理 440
24.1 系统设计 440
24.1.1 功能要求 440
24.1.2 表结构设计 440
24.1.3 程序界面设计 441
24.2 主要功能开发 442
24.3 本章小结 444
第25天 销售合同管理 445
25.1 系统设计 445
25.1.1 功能要求 445
25.1.2 表结构设计 445
25.1.3 程序界面设计 447
25.2 更新统计字段 449
25.3 本章小结 450
第26天 销售业绩管理 451
26.1 销售目标设定 451
26.1.1 功能要求 451
26.1.2 表结构设计 451
26.1.3 程序界面设计 452
26.1.4 仅显示销售部门的员工 452
26.2 销售目标统计 453
26.2.1 功能要求 453
26.2.2 程序界面设计 453
26.2.3 功能实现 454
26.3 本章小结 456
第27天 综合查询 457
27.1 客户查询 457
27.2 公海客户 458
27.3 个人销售业绩查询 459
27.4 客户统计 460
27.5 销售业绩统计 461
27.6 活动量统计 462
27.7 本章小结 464
第28天 群发邮件 465
28.1 群发邮件管理 465
28.1.1 功能要求 465
28.1.2 表结构设计 465
28.1.3 程序界面设计 465
28.2 主要功能开发 467
28.2.1 发送带附件的邮件 467
28.2.2 WinHtmlEditor编辑框 468
28.2.3 设置邮件模板 468
28.3 本章小结 469
第29天 销售统计报表 470
29.1 准备报表数据 470
29.2 准备数据对象 473
29.3 创建RDLC报表 474
29.4 新建数据源 475
29.5 设计RDLC报表 476
29.6 显示报表 477
29.7 本章小结 479
第五部分 交 付篇 481
第30天 HYCRM部署及运维 481
30.1 制作HYCRM安装包 481
30.2 生成数据库安装脚本 487
30.3 数据库基本操作 490
30.4 数据库日志 491
30.5 服务器防火墙设置 492
30.6 本章小结 493
第31天CRM系统的安全可靠性 494
31.1 .NET代码安全 494
31.1.1 .NET反编译 494
31.1.2 .NET混淆加密 495
31.1.3 使用SecureString存储敏感信息 495
31.1.4 为程序集增加强名称 497
31.2 ASP.NET Web Service安全 497
31.2.1 以HTTPS发布Web Service 497
31.2.2 增加验证码功能 500
31.2.3 其他安全措施 504
31.3 SQL安全 504
31.3.1 SQL注入 504
31.3.2 隐藏数据库结构 506
31.3.3 SQL执行权限 506
31.4 文件管理策略 507
31.4.1 IIS 7启用或禁用目录浏览 507
31.4.2 文件存储策略 508
31.5 压力测试 508
31.6 本章小结 517
附录A实例索引 518
附录B学习路线 520
后记 524
参考文献 525