标题：C#开发入门及项目实战
作者：明日科技
图书详细信息：ISBN：9787302276630  [1]定价：59.8元
印次：1-1
装帧：平装
印刷日期：2011-12-30
图书简介：本书全面介绍了使用C#语言进行编程的各种技术，是学习C#编程技术的完美教程。全书以Visual Studio 2010开发环境为基础，分3篇21章讲解了C#编程中的各种技术。其中，第1篇为入门篇，主要包括C#语言及其开发环境、掌握C#语言基础、流程控制语句、字符与字符串、数组和集合、C#面向对象程序设计、异常处理和程序调试、Windows窗体、Windows应用程序常用控件；第2篇为提高篇，主要包括Windows应用程序高级控件、C#面向对象高级技术、数据访问技术、水晶报表与打印、文件及数据流技术、GDI+绘图、线程的使用、网络编程技术、注册表技术、C#语言新技术、Windows应用程序打包部署；第3篇为应用篇，主要通过开发一个企业进销存管理系统，让读者学习如何进行软件开发。
本书提供了大量的自学视频、源程序、素材，提供了相关的模块库、案例库、素材库、题库等多种形式的辅助学习资料，还提供迅速及时的微博、QQ、论坛等技术支持。
本书内容详尽，实例丰富，非常适合作为零基础学习人员的学习用书和大中专院校师生的学习教材，也可作为相关培训机构的师生和软件开发人员的参考资料。前言：欢迎来到C#的世界，并通过本书学习C#。本书中的内容反映了C#语言的最新变化，其编排方式非常适合学习和讲授这门语言。
C#是一种面向对象的编程语言，主要用于开发可以运行在.NET平台上的应用程序。C#的语言体系构建在.NET框架上，近几年C#的发展呈现逐年上升的趋势，这也正说明了C#语言的简单、现代、面向对象和类型安全等特点正在被更多人所认同。而Visual Studio开发平台则凭借其强大的可视化用户界面设计，使程序员从复杂的界面设计中解脱出来，使编程成为一种享受。
本书内容
本书提供了C# 编程从入门到项目开发所必备的知识，并且分篇进行讲解，使读者学习更有针对性。学习本书内容时，一定要熟练掌握入门篇的所有内容，以便为以后的应用开发打下扎实的基础；然后有针对性地学习提高篇的内容，为开发专业软件项目存储必备的知识；最后学习一个项目的完整开发过程，为以后的实际项目开发积累一定的经验。学习本书内容时，各篇内容需要花费的精力比例如下图所示。
第1篇　入门篇（第1～9章）：主要包括C#语言及开发环境、掌握C#语言基础、流程控制语句、字符与字符串、数组和集合、C#面向对象程序设计、异常处理和程序调试、Windows窗体、Windows应用程序常用控件。通过本篇的学习，读者能够熟练掌握C#语言编程的基础知识，并能开发一些小型的应用程序。
第2篇　提高篇（第10～20章）：主要包括Windows应用程序高级控件、C#面向对象高级技术、数据访问技术、水晶报表与打印、文件及数据流技术、GDI+绘图、线程的使用、网络编程技术、注册表技术、C#语言新技术、Windows应用程序打包部署。通过本篇的学习，读者可以开发常用的数据库应用程序，并能够掌握C#高级应用程序的开发，例如使用文件流、图形图像、多媒体、网络、多线程及注册表等知识开发综合应用程序。
第3篇　应用篇（第21章）：本篇通过一个大型、完整的企业进销存管理系统，运用软件工程的设计思想，让读者学习如何进行软件项目的实践开发。书中按照编写项目计划书→系统设计→数据库设计→创建项目→实现项目→运行项目→系统打包部署→解决开发常见问题的过程进行介绍，带领读者一步一步亲身体验开发项目的全过程。
本书特点
* 技术新颖，讲解细致
使用最新的Visual Studio 2010和C# 4.0进行讲解，淋漓尽致地展示出了C#的基础知识，使读者能够真正掌握C#初学者应该学习的知识。
* 实例丰富，贴近实际
对每个技术点进行详细讲解时，都提供了大量的示例和实例进行演示，这些示例和实例大部分来源于实际开发。读者可以学为所用，快速提升自身开发技能，并有效解决实际开发中遇到的各类问题。
* 动手实践，一体学习
每章都提供了大量的上机演练和实战模拟，使读者在学习技术的同时，能够亲自动手实践，体验编程带来的成就感；另外，上机演练和实战模拟的详细讲解及源代码与《C#经典编程220例》中的实例相对应，读者可以根据自身实际情况进行参考。
* 注释详尽，视频讲解
为了便于读者更好地学习和使用本书，书中所有的代码都提供了详尽的注释；而且，本书配套资源中提供了覆盖全书的语音视频讲解，读者可以通过视频快速、直观、轻松地学习。
本书配套资源
本书提供了内容丰富的配套资源，包括源程序、素材，以及模块库、案例库、题库、素材库等多项辅助内容，读者朋友可以通过如下方式获取。
第1种方式：
（1）登录清华大学出版社的网站，在网页右上角的搜索文本框中输入本书书名（注意区分大小写和留出空格），或者输入本书关键字，或者输入本书ISBN号（注意去掉ISBN号间隔线“-”），单击“搜索”按钮。
（2）找到本书后单击超链接，在该书的网页下侧单击“网络资源”超链接，即可下载。
第2种方式：
访问本书的新浪微博CSmrbook，找到配套资源的链接地址进行下载。
读者对象
本书非常适合以下人员阅读。
? 大中专院校师生
? 面临就业的学生
? 零基础学习人员
? 相关培训机构的老师和学员
? 初中级程序开发人员
? 准备从事软件开发的求职者
? 编程爱好者
? 立志编程的其他专业人士目录：第1篇　入门篇
第1章　C#语言及其开发环境
（ 自学视频、源程序：
配套资源\mr\01\） 2
1.1　C#语言简介 3
1.1.1　什么是C#语言 3
1.1.2　C#的应用领域 3
1.1.3　认识.NETFramework 3
1.1.4　C#与.NET的关系 4
1.1.5　如何学好C# 4
1.2　安装与卸载VisualStudio2010 5
1.2.1　安装VisualStudio2010系统的必备条件 5
1.2.2　安装VisualStudio2010 5
1.2.3　卸载VisualStudio2010 9
1.3　熟悉VisualStudio2010开发
环境 11
1.3.1　创建项目 11
1.3.2　菜单栏 13
1.3.3　工具栏 15
1.3.4　“工具箱”面板 15
1.3.5　“属性”面板 16
1.3.6　“错误列表”面板 17
1.3.7　“输出”面板 17
1.4　VisualStudio2010帮助系统 19
1.4.1　安装HelpLibrary管理器 19
1.4.2　使用HelpLibrary 21
1.5　本章小结 22
1.6　技能专项测试 23
1.7　实战模拟 24
第2章　掌握C#语言基础
（ 自学视频、源程序：
配套资源\mr\02\） 26
2.1　编写第一个C#程序 27
2.2　初识C#程序结构 28
2.2.1　注释 29
2.2.2　命名空间 31
2.2.3　类 33
2.2.4　Main方法 33
2.2.5　标识符及关键字 34
2.2.6　C#语句 35
2.3　数据类型 35
2.3.1　值类型 35
2.3.2　引用类型 37
2.3.3　值类型与引用类型的区别 38
2.3.4　枚举类型 40
2.3.5　类型转换 41
2.4　变量 45
2.4.1　变量的基本概念 45
2.4.2　声明变量 45
2.4.3　变量的作用域 46
2.4.4　变量赋值 47
2.5　常量 48
2.6　表达式 49
2.7　运算符 50
2.7.1　算术运算符 50
2.7.2　赋值运算符 53
2.7.3　关系运算符 53
2.7.4　逻辑运算符 56
2.7.5　移位运算符 59
2.7.6　其他特殊运算符 60
2.8　运算符优先级 63
2.9　本章小结 63
2.10　技能专项测试 64
2.11　实战模拟 65
第3章　流程控制语句
（ 自学视频、源程序：
配套资源\mr\03\） 67
3.1　选择语句 68
3.1.1　if语句 68
3.1.2　if…else语句 68
3.1.3　使用switch语句实现多分支选择 71
3.2　迭代语句 73
3.2.1　while语句 73
3.2.2　do…while语句 75
3.2.3　for语句 76
3.2.4　foreach语句 77
3.3　跳转语句 78
3.3.1　break语句 79
3.3.2　continue语句 80
3.3.3　goto语句 81
3.3.4　return语句 82
3.4　本章小结 83
3.5　技能专项测试 83
3.6　实战模拟 85
第4章　字符与字符串
（ 自学视频、源程序：
配套资源\mr\04\） 86
4.1　字符类Char的使用 87
4.1.1　Char类概述 87
4.1.2　Char类的使用 87
4.1.3　转义字符 89
4.2　字符串类String的使用 91
4.2.1　String类概述 91
4.2.2　String类的使用 92
4.2.3　比较字符串 93
4.2.4　格式化字符串 96
4.2.5　截取字符串 97
4.2.6　分割字符串 98
4.2.7　插入和填充字符串 99
4.2.8　删除字符串 101
4.2.9　复制字符串 102
4.2.10　替换字符串 103
4.3　可变字符串类StringBuilder的
定义 105
4.3.1　StringBuilder类的定义 105
4.3.2　StringBuilder类的使用 106
4.3.3　StringBuilder类与String类的区别 107
4.4　本章小结 108
4.5　技能专项测试 108
4.6　实战模拟 110
第5章　数组和集合
（ 自学视频、源程序：
配套资源\mr\05\） 112
5.1　数组概述 113
5.2　一维数组的声明和使用 113
5.2.1　一维数组的声明 113
5.2.2　一维数组的使用 114
5.3　二维数组的声明和使用 116
5.3.1　二维数组的声明 116
5.3.2　二维数组的使用 117
5.3.3　动态二维数组的声明及
使用 118
5.4　数组的基本操作 120
5.4.1　如何遍历数组 120
5.4.2　添加/删除数组元素 121
5.4.3　对数组进行排序 122
5.5　ArrayList类 127
5.5.1　ArrayList类 127
5.5.2　ArrayList元素的添加 129
5.5.3　ArrayList元素的删除 130
5.5.4　ArrayList的遍历 132
5.6　本章小结 134
5.7　技能专项测试 134
5.8　实战模拟 135
第6章　C#面向对象程序设计
（ 自学视频、源程序：
配套资源\mr\06\） 137
6.1　类与对象 138
6.1.1　面向对象概述 138
6.1.2　类的概念 139
6.1.3　类的声明 139
6.1.4　构造函数和析构函数 140
6.1.5　对象的声明和实例化 142
6.1.6　类与对象的关系 143
6.2　方法 144
6.2.1　方法的声明 144
6.2.2　方法的分类 146
6.2.3　方法的重载 147
6.3　字段、属性和索引器 149
6.3.1　使用字段存储数据 149
6.3.2　使用属性存储数据 150
6.3.3　使用索引器存储数据 153
6.4　类的面向对象特性 156
6.4.1　类的封装 156
6.4.2　类的继承 157
6.4.3　类的多态 159
6.5　结构 161
6.5.1　结构概述 161
6.5.2　结构的使用 162
6.6　本章小结 164
6.7　技能专项测试 164
6.8　实战模拟 165
第7章　异常处理和程序调试
（ 自学视频、源程序：
配套资源\mr\07\） 167
7.1　异常处理概述 168
7.2　异常处理语句 168
7.2.1　try…catch语句 169
7.2.2　throw语句 170
7.2.3　try…catch…finally语句 172
7.3　程序调试概述 173
7.4　常用的程序调试操作 173
7.4.1　断点操作 174
7.4.2　开始、中断和停止程序的执行 175
7.4.3　单步执行 176
7.4.4　运行到指定位置 177
7.5　本章小结 177
7.6　技能专项测试 177
7.7　实战模拟 179
第8章　Windows窗体
（ 自学视频、源程序：
配套资源\mr\08\） 180
8.1　Form窗体 181
8.1.1　Form窗体的概念 181
8.1.2　添加和删除窗体 181
8.1.3　多窗体的使用 183
8.1.4　窗体的属性 183
8.1.5　窗体的显示与隐藏 185
8.1.6　窗体的事件 186
8.2　MDI窗体 188
8.2.1　MDI窗体的概念 188
8.2.2　如何设置MDI窗体 188
8.2.3　排列MDI子窗体 189
8.3　继承窗体 192
8.3.1　继承窗体的概念 192
8.3.2　创建继承窗体 193
8.3.3　在继承窗体中修改继承的
控件属性 194
8.4　本章小结 195
8.5　技能专项测试 195
8.6　实战模拟 196
第9章　Windows应用程序常用控件
（ 自学视频、源程序：
配套资源\mr\09\） 199
9.1　控件概述 200
9.2　控件的相关操作 200
9.2.1　添加控件 200
9.2.2　对齐控件 201
9.2.3　锁定控件 201
9.2.4　删除控件 201
9.3　文本类控件 201
9.3.1　标签控件（Label控件） 201
9.3.2　按钮控件（Button控件） 202
9.3.3　文本框控件（TextBox
控件） 204
9.3.4　有格式文本控件
（RichTextBox控件） 206
9.4　选择类控件 210
9.4.1　下拉组合框控件
（ComboBox控件） 210
9.4.2　复选框控件（CheckBox
控件） 213
9.4.3　单选按钮控件
（RadioButton控件） 214
9.4.4　数值选择控件
（NumericUpDown控件） 216
9.4.5　列表控件（ListBox控件） 218
9.5　分组类控件 221
9.5.1　容器控件（Panel控件） 221
9.5.2　分组框控件（GroupBox
控件） 223
9.5.3　选项卡控件（TabControl
控件） 223
9.6　菜单、工具栏和状态栏控件 227
9.6.1　菜单控件（MenuStrip
控件） 228
9.6.2　工具栏控件（ToolStrip
控件） 228
9.6.3　状态栏控件（StatusStrip
控件） 229
9.7　本章小结 230
9.8　技能专项测试 230
9.9　实战模拟 231
第2篇　提高篇
第10章　Windows应用程序高级控件
（ 自学视频、源程序：
配套资源\mr\10\） 234
10.1　ImageList控件（存储图像
控件） 235
10.1.1　在ImageList控件中添加
图像 235
10.1.2　在ImageList控件中移除
图像 236
10.2　ListView控件（列表视图
控件） 238
10.2.1　在ListView控件中添加
移除项 239
10.2.2　选择ListView控件中的
项 241
10.2.3　为ListView控件中的项添
加图标 242
10.2.4　在ListView控件中启用
平铺视图 243
10.3　TreeView控件（树控件） 245
10.3.1　添加和删除树节点 245
10.3.2　获取树控件中选中的节点 248
10.3.3　为树控件中的节点设置
图标 248
10.4　DateTimePicker控件（日期
控件） 251
10.4.1　使用DateTimePicker控件
显示时间 251
10.4.2　使用DateTimePicker控件
以自定义格式显示日期 252
10.4.3　返回DateTimePicker控件
中选择的日期 254
10.5　其他高级控件 255
10.5.1　使用ErrorProvider控件验证文本框输入 255
10.5.2　使用HelpProvider控件调用帮助文件 256
10.5.3　使用Timer控件设置时间间隔 258
10.5.4　使用ProgressBar控件显示程序运行进度条 259
10.6　本章小结 261
10.7　技能专项测试 261
10.8　实战模拟 262
第11章　C#面向对象高级技术
（ 自学视频、源程序：
配套资源\mr\11\） 265
11.1　接口 266
11.1.1　接口的概念及声明 266
11.1.2　接口的实现与继承 267
11.1.3　显式接口成员实现 270
11.2　抽象类与抽象方法 272
11.2.1　抽象类概述及声明 272
11.2.2　抽象方法概述及声明 273
11.2.3　抽象类与抽象方法的使用 273
11.2.4　抽象类与接口 274
11.3　密封类与密封方法 275
11.3.1　密封类概述及声明 275
11.3.2　密封方法概述及声明 276
11.3.3　密封类与密封方法的使用 276
11.4　迭代器 278
11.4.1　迭代器概述 278
11.4.2　迭代器的使用 279
11.5　分部类 280
11.5.1　分部类概述 280
11.5.2　分部类的使用 281
11.6　泛型概述 283
11.7　泛型的使用 284
11.7.1　类型参数T 284
11.7.2　泛型接口 284
11.7.3　泛型方法 285
11.8　本章小结 287
11.9　技能专项测试 287
11.10　实战模拟 288
第12章　数据访问技术
（ 自学视频、源程序：
配套资源\mr\12\） 289
12.1　简介 290
12.2　连接数据库：Connection对象 291
12.2.1　Connection对象概述 291
12.2.2　连接数据库 292
12.2.3　关闭连接 293
12.3　执行SQL语句：Command
对象 295
12.3.1　Command对象概述 295
12.3.2　设置数据源类型 296
12.3.3　执行SQL语句 297
12.4　读取数据：DataReader对象 300
12.4.1　DataReader对象概述 300
12.4.2　判断查询结果中是否有值 300
12.4.3　读取数据 301
12.5　数据适配器：DataAdapter
对象 302
12.5.1　DataAdapter对象概述 302
12.5.2　填充DataSet数据集 303
12.5.3　更新数据源 304
12.6　数据集：DataSet对象 306
12.6.1　DataSet对象概述 306
12.6.2　使用DataSet对象合并数据 307
12.7　数据浏览器：DataGridView
控件 308
12.7.1　DataGridView控件概述 308
12.7.2　在DataGridView控件中显示数据 309
12.7.3　获取DataGridView控件中的当前单元格 309
12.8　本章小结 311
12.9　技能专项测试 311
12.10　实战模拟 312
第13章　水晶报表与打印
（ 自学视频、源程序：
配套资源\mr\13\） 314
13.1　水晶报表简介 315
13.2　.NET平台下的CryStal报表 315
13.2.1　CryStalReports.Net简介 315
13.2.2　Crystal报表设计器的环境介绍 316
13.2.3　Crystal报表区域介绍 316
13.3　Crystal报表数据源和数据访问
模式 317
13.3.1　VisualStudio2010中
Crystal报表数据源列举 317
13.3.2　报表的数据访问模式 317
13.4　水晶报表的基本操作 318
13.4.1　创建水晶报表并连接数
据源 318
13.4.2　水晶报表中数据的分组
与排序 321
13.4.3　水晶报表中数据的筛选 323
13.4.4　在水晶报表中使用图表 326
13.5　Windows打印控件 329
13.5.1　PageSetupDialog控件 329
13.5.2　PrintDialog控件 331
13.5.3　PrintDocument控件 332
13.5.4　PrintPreviewControl控件 333
13.5.5　PrintPreviewDialog控件 334
13.6　本章小结 336
13.7　技能专项测试 336
13.8　实战模拟 337
第14章　文件及数据流技术
（ 自学视频、源程序：
配套资源\mr\14\） 340
14.1　System.IO命名空间 341
14.2　文件基本操作 342
14.2.1　File类和FileInfo类 342
14.2.2　判断文件是否存在 345
14.2.3　创建文件 346
14.2.4　打开文件 347
14.2.5　复制文件 350
14.2.6　移动文件 351
14.2.7　删除文件 352
14.2.8　获取文件基本信息 353
14.3　文件夹基本操作 354
14.3.1　Directory类和
DirectoryInfo类 354
14.3.2　判断文件夹是否存在 357
14.3.3　创建文件夹 357
14.3.4　移动文件夹 358
14.3.5　删除文件夹 359
14.3.6　遍历文件夹 360
14.4　数据流操作 363
14.4.1　流操作类介绍 363
14.4.2　文件流类 363
14.4.3　文本文件的写入与读取 365
14.4.4　二进制文件的写入与读取 367
14.5　本章小结 370
14.6　技能专项测试 370
14.7　实战模拟 371
第15章　GDI+绘图
（ 自学视频、源程序：
配套资源\mr\15\） 374
15.1　GDI+绘图基础 375
15.1.1　GDI+概述 375
15.1.2　创建Graphics对象 375
15.1.3　创建Pen对象 376
15.1.4　创建Brush对象 376
15.2　基本图形绘制 381
15.2.1　GDI+中的直线和矩形 381
15.2.2　GDI+中的椭圆、弧和扇形 384
15.2.3　GDI+中的多边形 386
15.3　本章小结 389
15.4　技能专项测试 389
15.5　实战模拟 390
第16章　线程的使用
（ 自学视频、源程序：
配套资源\mr\16\） 393
16.1　线程简介 394
16.1.1　单线程简介 394
16.1.2　多线程简介 394
16.2　线程的基本操作 395
16.2.1　Thread类 395
16.2.2　创建线程 397
16.2.3　线程的挂起与恢复 398
16.2.4　线程休眠 399
16.2.5　终止线程 400
16.2.6　线程的优先级 401
16.2.7　线程同步 403
16.3　本章小结 408
16.4　技能专项测试 408
16.5　实战模拟 409
第17章　网络编程技术
（ 自学视频、源程序：
配套资源\mr\17\） 411
17.1　网络编程基础 412
17.1.1　System.Net命名空间 412
17.1.2　System.Net.Sockets命名
空间 418
17.1.3　System.Net.Mail命名空间 424
17.1.4　POP3协议 426
17.2　本章小结 430
17.3　技能专项测试 430
17.4　实战模拟 431
第18章　注册表技术
（ 自学视频、源程序：
配套资源\mr\18\） 433
18.1　注册表基础 434
18.1.1　Windows注册表概述 434
18.1.2　Registry类和RegistryKey类 435
18.2　在C#中操作注册表 436
18.2.1　读取注册表中信息 437
18.2.2　创建和修改注册表信息 439
18.2.3　删除注册表中信息 441
18.3　本章小结 445
18.4　技能专项测试 445
18.5　实战模拟 446
第19章　C#语言新技术
（ 自学视频、源程序：
配套资源\mr\19\） 448
19.1　简述C#的新技术 449
19.2　列举C#的新特性 449
19.2.1　使用隐式类型var声明变量 449
19.2.2　使用对象初始化器创建对象 450
19.2.3　使用集合初始化器创建集
合对象 451
19.2.4　使用扩展方法向现有类型
中添加新方法 453
19.2.5　使用匿名类型创建对象 454
19.2.6　使用Lambda表达式过滤
数据 455
19.2.7　定义自动实现的属性 457
19.2.8　使用LINQ技术操作
数据 459
19.3　本章小结 464
19.4　技能专项测试 464
19.5　实战模拟 465
第20章　Windows应用程序打包部署
（ 自学视频、源程序：
配套资源\mr\20\） 468
20.1　WindowsInstaller介绍 469
20.2　创建Windows安装项目 470
20.3　制作Windows安装程序 471
20.3.1　添加项目输出文件 471
20.3.2　添加内容文件 472
20.3.3　创建桌面快捷方式 473
20.3.4　添加注册表项 474
20.3.5　生成Windows安装程序 477
20.4　部署Windows应用程序 477
20.5　本章小结 479
20.6　技能专项测试 479
20.7　实战模拟 480
第3篇　应用篇
第21章　企业进销存管理系统
（ 自学视频、源程序：
配套资源\mr\21\） 484
21.1　系统分析 485
21.1.1　需求分析 485
21.1.2　可行性分析 485
21.1.3　编写项目计划书 486
21.2　系统设计 488
21.2.1　系统目标 488
21.2.2　系统功能结构 488
21.2.3　系统业务流程图 490
21.2.4　系统编码规范 490
21.2.5　系统预览 493
21.3　系统运行环境 495
21.4　数据库与数据表设计 495
21.4.1　数据库分析 495
21.4.2　数据库概念设计 496
21.4.3　数据库逻辑设计 497
21.4.4　数据表逻辑关系 499
21.5　创建项目 500
21.6　公共类设计 502
21.6.1　DataBase公共类 502
21.6.2　BaseInfo公共类 505
21.7　登录模块设计 510
21.7.1　设计登录窗体 510
21.7.2　按Enter键时移动鼠标
焦点 510
21.7.3　登录功能的实现 511
21.8　系统主窗体设计 512
21.8.1　设计系统主窗体 512
21.8.2　设计菜单栏 512
21.9　库存商品管理模块设计 514
21.9.1　设计库存商品管理窗体 514
21.9.2　显示库存商品所有信息 515
21.9.3　添加/修改库存商品信息 515
21.9.4　删除库存商品信息 517
21.9.5　查询库存商品信息 517
21.10　进货管理模块设计 518
21.10.1　设计进货管理窗体 519
21.10.2　自动生成进货单编号 519
21.10.3　添加进货单信息 520
21.11　商品销售排行模块设计 524
21.11.1　设计商品销售排行窗体 524
21.11.2　绑定经手人及往来单位 525
21.11.3　显示商品销售排行 525
21.12　库存盘点模块设计 526
21.12.1　设计库存盘点窗体 526
21.12.2　显示库存商品信息 526
21.12.3　查询库存商品信息 527
21.12.4　对指定商品进行盘点 528
21.13　运行项目 528
21.14　系统打包部署 530
21.15　开发常见问题与解决 535
21.15.1　为什么无法登录系统 535
21.15.2　如何实现往来对账功能 536
21.15.3　清理系统数据时需要注意的问题 536
21.15.4　数据库还原不成功应该如何解决 537
21.15.5　生成安装程序时出现错误怎么办 538
21.16　本章小结 538