《C#开发实战1200例(第II卷)》是2011年6月清华大学出版社出版的图书,作者是明日科技、 王小科 、王军。
基本介绍
- 书名:C#开发实战1200例(第II卷)
- 作者:明日科技、 王小科 、王军
- ISBN:9787302251552
- 定价:99元
- 出版社:清华大学出版社
- 出版时间:2011-6-1
内容简介
本书以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了套用C#进行程式开发各个方面的知识和技巧,主要包括滑鼠与键盘控制、Windows系统开发、资料库及LINQ开发、水晶报表与列印、注册表操作、软体安全控制等。全书分6篇21章,总计600个实例和600条经验技巧。每个实例都是作者精心筛选的,具有很强的实用性,其中一些实例是开发人员难于寻觅的解决方案。
本书附带有配套DVD光碟,光碟中提供有书中全部实例的原始码,这些原始码都是经过作者精心调试通过的,保证能够在Windows XP、Windows 2003及Windows 7作业系统下编译和运行。
本书非常适合C#项目开发人员、C#初学者及编程爱好者使用,同时也可作为培训机构、大中专院校老师和学生的实践参考用书。
前言
前 言
特别说明:
《C#开发实战1200例》包括第I卷、第II卷总计1200个例子,本书是第II卷,包含600个例子。
程式开发是一项艰辛的工作,它不仅考验开发人员的智力,更考验开发人员的体力。纵观国内的软体企业,内部开发团队挑灯夜战,连续几个月加班加点工作是常有的事情。笔者曾“有幸”参加过十几个项目的开发工作,对编程有深刻的体会。编程是一项複杂的创造性工作,它需要开发人员掌握各方面的知识和积累丰富的开发经验。项目开发中的一个问题可能会占用团队几天甚至十几天的时间,但是如果开发人员遇到过类似的问题,也许几分钟就可以解决。这就是编程经验的重要性,也是许多软体企业用人时选择有项目开发经验者的主要原因。
本书笔者精选了项目开发中的600个实例,涵盖了滑鼠与键盘控制、Windows系统开发、资料库及LINQ开发、水晶报表与列印、注册表操作、软体安全控制等方面的内容,每一个知识点都提供了丰富的、具有很强实用性的实例,以帮助开发人员快速解决疑难问题。
本书内容
本书分为6篇21章,总计600个实例。书中所选实例均来源于一线开发人员的实际项目开发,囊括了开发中经常使用和需要解决的热点、难点问题,参考本书,读者可以快速解决开发中的难题,提高编程效率。本书亮点内容导航如下图所示。
为了方便读者学习和使用本书,书中在讲解实例时採用统一的编排样式,每个实例由“实例说明”、“关键技术”、“设计过程”和“秘笈心法”4部分构成,如下图所示。
其中,“实例说明”部分採用图文结合的方式介绍实例的功能和运行效果;“关键技术”部分介绍了实例使用的重点、难点技术;“设计过程”部分讲解了实例的详细开发过程;“秘笈心法”部分给出了与实例相关的技巧和经验总结。
本书特色
* 实例丰富,经验超值
本书精选了600个实例和600条经验技巧,涵盖了编程中多个方面的各种套用。用户开发中所需的技术、技巧、解决方案几乎都可以找到。
* 特点突出,功能完善,实用性强
书中所选实例均是项目开发中经常需要使用或实现的技术,有许多实例是开发人员梦寐以求的。
* 视频录像,全面介绍实例开发全过程
在每一章实例中作者选择重点和难点实例进行全程视频讲解,以帮助读者理解这些实例的开发过程。
* 赠送所有实例源码
书中所有实例均提供有原始码,用户在开发中可以快速借鉴或套用。
* 段落工整、简洁,图文结合,更容易学习
* 编码规范,注释详尽
为了提高用户的实际开发能力,书中代码都是经过严格审查的,可以与商业源码相媲美,并且为了方便用户阅读代码,几乎所有代码都提供有详细注释。
超值DVD光碟
为了帮助读者学习和使用书中的实例,本书附赠有DVD光碟,其中不仅提供了书中所有实例项目的原始码、素材,还提供了关键实例的开发视频讲解。光碟目录如下图所示。
本书约定
* 实例使用方法
用户在学习本书的过程中,可以从光碟中複製实例,去掉实例的唯读属性。有些实例需要使用相应的资料库或第三方资源,这些实例在使用前需要进行相应配置,详细使用方式可参考本书光碟使用说明书。此外,如果用户直接将本书实例用于商业用途,由此产生的不良后果由用户自己承担。
* 实例及录像位置
书中实例在光碟中的存储格式为“MR\章号\实例序号”。例如,“MR\04\090”表示实例090,位于第4章。
书中关键实例在光碟中提供了开发录像,录像的存储格式与实例的存储格式是相同的。例如,查看实例090的开发录像,可以在光碟中“MR\04\090”路径下找到,录像名称与实例名称相同,格式为EXE格式。
* 录像使用说明
本书赠送的实例录像採用EXE档案格式,无须使用播放器,双击就可以直接播放。在主目录中,目录前有录像图示的实例,表示在光碟中存在视频录像。
* 部分实例只给出关键代码
由于篇幅限制,书中有些实例只给出了关键代码,完整代码可参考光碟实例程式。
读者人群
本书非常适合以下人员阅读:
* 从事C#编程行业的开发人员
* 有一定语言基础,想进一步提高技能的人员
* 大中专院校的老师和学生
* 即将走上工作岗位的大学毕业生
* 相关培训机构的老师和学员
* C#编程爱好者
本书作者
本书由明日科技组织编写,参加编写的程式设计师有王小科、王军、赵会东、董大永、尹强、李继业、张磊、赛奎春、高春艳、宋坤、刘锐宁、梁水、李伟明、刘彬彬、安剑、孙秀梅、巩建华、房大伟、吕双、刘云峰、王国辉、李钟尉、张振坤、陈丹丹、卢翰、白伟明、潘凯华、刘欣、李慧、梁晓岚、杨丽、顾丽丽、刘龄龄、王乐乐、陈英、李贺、朱晓、杨明、肖鑫、李鑫等。由于笔者水平有限,疏漏和不足之处在所难免,恳请广大读者朋友批评指正。
特别提醒:
亲爱的读者朋友,由于近期纸张价格和印製成本大幅上涨,为不增加读者朋友的负担,又不减少书的内容,本书的最后几章内容不得不放在配书光碟中(参见目录),由此给您带来了不便,在此深表歉意。
编 者
图书目录
第1篇 滑鼠与键盘控制篇
第1章 滑鼠操作控制 2
1.1 获取滑鼠信息 3
实例001 获取滑鼠双击时间间隔 3
实例002 获取游标闪烁的频率 4
实例003 获取滑鼠键数 4
实例004 显示滑鼠的等待游标 5
实例005 获得滑鼠在窗体上的位置 6
实例006 记录滑鼠行为 7
?实例007 通过截取系统讯息判断滑鼠的单击键 8
1.2 滑鼠基本设定 10
实例008 定义滑鼠指针形状 10
实例009 自定义滑鼠的图片 11
实例010 自定义动画滑鼠 12
实例011 交换滑鼠左右键功能 14
实例012 限制滑鼠在某一区域工作 15
实例013 禁止滑鼠按键 16
?实例014 滑鼠设定器 21
1.3 滑鼠操作在实际中的套用 24
实例015 隐藏和显示滑鼠 24
实例016 滑鼠双击窗体时模拟键盘Tab键操作 25
实例017 使用滑鼠拖放複製文本 26
实例018 利用滑鼠绘图 27
实例019 模拟滑鼠操作 28
?实例020 实现滑鼠穿透窗体 30
第2章 键盘操作控制 32
2.1 获取键盘信息 33
实例021 获取组合键 33
实例022 获取功能键 34
实例023 判断NumLock键和CapsLock键
是否锁定 34
实例024 将回车键转换为Tab键 36
2.2 键盘热键的设定 37
实例025 禁止Alt+F4组合键关闭窗体 37
实例026 实现按下Esc键关闭窗体 38
实例027 禁止系统的Ctrl+C/X/V组合键 39
实例028 避免按回车键产生“嘀”声 40
?实例029 设定/禁止系统热键 41
2.3 键盘操作在实际中的套用 48
实例030 打开和关闭输入法编辑器 48
?实例031 使用键盘控制窗体的移动 49
?实例032 虚拟键盘操作 51
实例033 多功能键盘 60
第2篇 Windows系统开发篇
第3章 获取系统相关信息 66
3.1 获取计算机系统信息 67
实例034 获取系统时间 67
实例035 获取系统目录 68
实例036 获取计算机名称 68
实例037 获取当前程式运行目录 69
实例038 获得作业系统版本号 70
实例039 获取系统启动后经过的时间 71
?实例040 获取系统列尺寸 72
实例041 改变系统提示信息 73
实例042 获取系统环境变数 74
3.2 获取计算机硬体信息 76
实例043 获取计算机记忆体信息 76
实例044 获取CPU相关信息 78
实例045 获取主机板相关信息 79
实例046 获得硬碟序列号 80
实例047 获取所有逻辑分区 81
实例048 获取磁碟空间 82
?实例049 获得磁碟的档案系统类型 83
实例050 判断驱动器类型并获取其属性 84
实例051 获取显示设备的名称及PNPDeviceID 86
实例052 获取声音设备的名称及PNPDeviceID 87
实例053 获取萤幕的解析度 88
实例054 获取系统已经安装的印表机信息 89
3.3 获取系统网路信息 90
实例055 得到本地机器的IP位址 90
实例056 检测计算机是否存在网路连线 92
实例057 判断计算机的在线上状态 92
3.4 获取特殊资料夹路径 94
?实例058 获取系统特殊资料夹路径 94
实例059 得到本地运行的EXE的路径 96
实例060 获取映射驱动器路径 97
3.5 获取Windows当前用户信息 97
实例061 获取当前用户 97
实例062 判断当前用户是哪种用户 98
3.6 获取Windows日誌信息 100
实例063 获取系统日誌信息 100
实例064 获取安全日誌信息 102
实例065 获取应用程式日誌信息 103
实例066 创建并写入自定义日誌信息 104
实例067 向系统日誌写入自定义数据 105
实例068 向应用程式日誌写入自定义信息 106
第4章 系统控制套用 107
4.1 启动相关 108
实例069 进入Windows前发出警告 108
实例070 将计算机设定为休眠状态 109
实例071 禁止用户关闭计算机 110
实例072 实现注销、关闭和重启计算机 111
实例073 定时关闭计算机 114
实例074 远程关闭与重启计算机 117
4.2 磁碟相关设定 120
实例075 取消磁碟共享 120
实例076 检测磁碟是否準备好 121
?实例077 图表显示磁碟容量 122
实例078 修改磁碟格式 124
实例079 格式化磁碟 125
4.3 系统设定 126
实例080 禁止使用Windows任务管理器 126
实例081 为档案新增右键选单项 127
实例082 修改计算机的默认印表机 128
实例083 通过注册表设定桌面背景 129
实例084 利用API设定桌面背景 130
实例085 音乐风景桌面 132
实例086 设定系统系统列时间 135
实例087 设定萤幕解析度 137
实例088 修改计算机名称 138
实例089 显示器控制 139
?实例090 萤幕放大镜 141
4.4 系统隐藏 143
实例091 隐藏、显示系统列 143
实例092 隐藏、显示开始按钮 145
实例093 使桌面图示文字透明 146
实例094 检索系统中正在运行的任务 147
实例095 隐藏、显示桌面图示 148
4.5 系统控制 150
实例096 切换输入法 150
实例097 全形半角转换 151
实例098 製作系统挂机锁 154
实例099 开机启动项管理 158
实例100 启动Windows系统服务 159
实例101 执行命令行命令 161
4.6 系统监控 162
实例102 检测系统启动模式 162
实例103 监视剪贴簿的内容 163
实例104 记忆体使用状态监控 164
实例105 键盘钩子禁止热键 165
?实例106 CPU使用率 167
第5章 程式控制套用 170
5.1 程式控制 171
实例107 打开控制台中的程式 171
?实例108 动态系统托盘图示 172
实例109 控制程式不出现在系统列上 174
实例110 启动萤幕保护 175
实例111 使用回车键控制滑鼠焦点 176
实例112 在TextBox控制项中禁用滑鼠右键 177
实例113 製作萤幕截图程式 178
实例114 複製程式本身 180
实例115 分段显示电话号码颜色 181
5.2 程式运行 182
实例116 使用互斥量禁止程式运行多次 182
实例117 使用进程名禁止程式运行多次 183
实例118 清空资源回收筒 185
5.3 计算机控制 186
实例119 设定系统仅能运行的程式 186
?实例120 获取本地计算机上所有的进程 187
实例121 获取远程计算机上所有的进程 189
实例122 调用外部的EXE档案 190
实例123 关闭外部已开启的程式 191
?实例124 进程管理器 192
实例125 实现行业软体系统注销功能 195
实例126 创建应用程式捷径 195
实例127 使PC喇叭发音 197
第3篇 资料库及LINQ开发篇
第6章 SQL查询相关技术 200
6.1 SELECT子句 201
实例128 查询特定列数据 201
实例129 使用列别名 202
实例130 在列上加入计算 204
实例131 使用函式设定条件 205
6.2 查询常量 206
实例132 查询数字 206
实例133 查询字元串 207
实例134 查询日期数据 208
实例135 查询逻辑型数据 210
实例136 查询空(‘’或NULL)数据 211
6.3 查询变数 212
实例137 利用变数查询字元串数据 212
实例138 利用变数查询数值型数据 214
实例139 利用变数查询日期型数据 215
6.4 模糊查询 217
实例140 利用“_”通配符进行查询 217
实例141 利用“%”通配符进行查询 218
实例142 利用“[]”通配符进行查询 219
实例143 利用“[^]”通配符进行查询 221
实例144 複杂的模糊查询 222
6.5 TOP和PERCENT限制查询结果 224
实例145 查询前10名数据 224
实例146 取出数据统计结果的后10名数据 225
?实例147 查询第10到第20名的数据 226
实例148 查询销售量占前50%的图书信息 228
实例149 查询库存数量占后20%的图书信息 229
6.6 数值查询 231
实例150 判断是否为数值 231
实例151 在查询时对数值进行取整 232
实例152 将查询到的数值四捨五入 233
实例153 使用三角函式计算数值 234
实例154 求数值的绝对值 235
实例155 根据生成的随机数查询记录 236
实例156 根据查询数值的符号显示具体文本 238
6.7 字元串查询 239
实例157 实现字元串的大小写转换 239
实例158 返回字元在字元串中出现的次数 240
实例159 返回字元串中的子串 241
实例160 删除字元串中的子串 243
实例161 查找并替换字元串 244
实例162 比较两个字元串 246
6.8 周期、日期查询 248
实例163 判断是否为日期 248
实例164 查询指定日期的数据 249
?实例165 查询指定时间段的数据 250
实例166 按年、月或日查询数据 251
实例167 返回当前日期时间及其对应的星期 253
实例168 查询指定时间间隔的数据 254
6.9 比较、逻辑、重複查询 255
实例169 利用运算符查询指定条件的数据 255
实例170 NOT与谓词进行组合条件的查询 257
实例171 查询时不显示重複记录 258
实例172 列出数据中的重複记录和记录条数 259
6.10 在查询中使用OR和AND运算符 260
实例173 利用OR运算符进行查询 260
实例174 利用AND运算符进行查询 261
实例175 同时利用OR、AND运算符进行查询 262
6.11 排序、分组统计 263
实例176 数据分组统计(单列) 263
实例177 在分组查询中使用ALL关键字 265
实例178 在分组查询中使用CUBE运算符 266
实例179 在分组查询中使用ROLLUP 267
实例180 对数据进行降序查询 268
实例181 对数据进行多条件排序 269
实例182 对统计结果进行排序 270
实例183 按姓氏笔画排序 272
?实例184 按姓氏拼音排序 273
实例185 按仓库分组统计图书库存(多列) 274
实例186 多表分组统计 275
实例187 使用COMPUTE 276
实例188 使用COMPUTE BY 278
6.12 聚合函式 279
实例189 利用聚合函式SUM对销售额进行汇总 279
实例190 利用聚合函式AVG求某班学生的
平均年龄 280
实例191 利用聚合函式MIN求销售额、利润
最少的商品 281
实例192 利用聚合函式MAX求月销售额
完成最多的员工 283
实例193 利用聚合函式COUNT求日销售额
大于某值的商品数 284
?实例194 利用聚合函式FIRST或LAST求数据表
中第一条或最后一条记录 286
实例195 利用聚合函式显示资料库中重複记录的
数量 287
实例196 查询大于平均值的所有数据 288
实例197 获取无重複或者不为空的记录数 290
实例198 随机查询求和 291
实例199 统计某个值出现的次数 292
6.13 多表查询(连线查询) 293
实例200 利用FROM子句进行多表查询 293
实例201 使用表别名 295
实例202 合併多个结果集 296
实例203 笛卡儿乘积查询 297
6.14 嵌套查询 298
实例204 简单嵌套查询 298
实例205 複杂嵌套查询 299
实例206 嵌套查询在查询统计中的套用 301
6.15 子查询 302
实例207 用子查询做派生的表 302
实例208 用子查询作表达式 304
实例209 使用ALL谓词引入子查询 305
实例210 使用ANY/SOME谓词引入子查询 307
实例211 使用EXISTS运算符引入子查询 308
实例212 在HAVING子句中使用子查询
过滤数据 310
实例213 在UPDATE语句中套用子查询 311
实例214 使用子查询删除数据 312
6.16 组合语句 314
实例215 使用组合查询 314
实例216 多表组合查询 316
实例217 对组合查询后的结果进行排序 317
实例218 获取组合查询中两个结果集的交集 319
实例219 获取组合查询中两个结果集的差集 320
6.17 内连线查询 321
实例220 简单内连线查询 321
实例221 複杂内连线查询 322
实例222 使用INNER JOIN实现自身连线 324
实例223 使用INNER JOIN实现等值连线 325
实例224 使用INNER JOIN实现不等连线 326
实例225 使用内连线选择一个表与另一个表中
行相关的所有行 327
6.18 外连线查询 329
实例226 LEFT OUTER JOIN查询 329
实例227 RIGHT OUTER JOIN查询 330
实例228 使用外连线进行多表联合查询 331
6.19 利用IN进行查询 333
实例229 用IN查询表中的记录信息 333
实例230 使用IN引入子查询限定查询範围 334
实例231 使用NOT IN运算符引入子查询 335
6.20 交叉表查询 336
实例232 利用Transform分析数据(Access) 336
实例233 利用Transform动态分析数据
(Access) 338
实例234 静态交叉表(SQL Server 2005) 340
?实例235 动态交叉表(SQL Server 2005) 342
6.21 函式查询 343
实例236 在查询语句中使用格式化函式 343
实例237 在查询语句中使用字元串函式 344
实例238 在查询中使用日期函式 346
6.22 索引查询 347
实例239 使用UNIQUE关键字创建唯一索引 347
实例240 使用CLUSTERED关键字创建聚簇
索引 348
实例241 使用索引视图查询数据 350
实例242 删除索引 352
6.23 套用存储过程 353
实例243 使用存储过程查询多表中的数据 353
实例244 使用存储过程向表中添加数据 355
实例245 使用存储过程删除表中的数据 358
6.24 HAVING语句套用 361
实例246 利用HAVING子句过滤分组数据 361
实例247 HAVING子句套用在多表查询中 362
第7章 SQL高级套用 364
7.1 SQL中的流程控制语句 365
实例248 使用BEGIN…END语句控制批处理 365
实例249 使用IF语句指定执行条件 366
实例250 使用IF EXISTS语句检测数据是否
存在 367
实例251 使用WHILE语句执行循环语句块 368
实例252 使用CASE语句执行分支判断 369
实例253 使用RETURN语句执行返回 371
实例254 使用WAITOF语句延期执行语句 372
实例255 使用GOTO语句实现跳转 373
实例256 使用TRY CATCH语句进行异常处理 375
实例257 使用PRINT语句进行列印 376
实例258 使用RAISERROR语句返回错误信息 377
实例259 使用SET语句进行选项设定 378
7.2 视图的套用 379
实例260 在C#中套用视图 379
实例261 获取资料库中的全部用户视图 380
?实例262 通过视图修改数据 380
实例263 通过视图过滤数据 382
实例264 使用视图格式化检索到的数据 383
实例265 对视图定义文本进行加密 384
实例266 使用视图生成计算列 385
7.3 存储过程的套用 387
实例267 C#中套用存储过程 387
?实例268 套用存储过程添加数据 388
实例269 套用存储过程修改数据 390
实例270 套用存储过程删除数据 391
实例271 获取资料库中全部的存储过程 392
实例272 在存储过程中使用return定义返回值 394
实例273 执行带回传参数的存储过程 395
实例274 重命名存储过程 396
实例275 在存储过程中使用事务 397
实例276 加密存储过程 399
实例277 查看存储过程的相关信息 400
7.4 触发器的套用 401
实例278 获取资料库中的触发器 401
实例279 使用Insert触发器向薪水錶中添加
薪水信息 402
实例280 Update触发器在系统日誌中的套用 404
实例281 使用Delete触发器删除员工薪水信息 405
实例282 触发器的嵌套使用 406
使用283 使用递归触发器实现每次删除一条
记录功能 408
实例284 使用触发器删除相关联的两表间的数据 409
7.5 事务的使用 411
实例285 使用事务同时提交多个数据表 411
实例286 使用隐式事务实现多表提交数据 413
?实例287 使用事务批量删除生产单信息 414
实例288 在事务中的表级锁定 417
实例289 实现事务的并发控制 420
实例290 创建分散式事务 422
7.6 游标的套用 423
实例291 创建一个标準、唯读和更新游标 423
使用292 利用sp_cursor_list查看游标属性 425
实例293 利用sp_describe_cursor查看游标
全局特性 426
实例294 利用游标在商品销售表中返回指定行
数据 428
实例295 使用ORDER BY子句改变游标中
行的顺序 429
实例296 使用游标定位删除指定员工信息 431
实例297 使用参数化游标更改员工部门信息 432
实例298 使用嵌套游标查询两个员工表间的
员工信息 433
7.7 SQL Server与XML互操作 435
实例299 使用FOR XML RAW参数读取所有
图书信息 435
实例300 将存储在XML中的图书信息插入
数据表中 436
实例301 将图书销售表中的栏位作为节点元素
输出 437
实例302 查询存储图书信息的XML节点 439
实例303 获取XML节点或者元素值 440
实例304 编辑存储图书信息的XML节点 441
实例305 将XML节点转换为相应的数据表
栏位 444
第8章 ADO。NET开发技术 446
8.1 连线Access资料库 447
实例306 连线Access资料库 447
实例307 连线加密的Access资料库 448
实例308 自动识别Access 2000资料库路径 449
实例309 连线网路上共享的Access 2000资料库 450
实例310 将Access资料库导入Excel档案中 452
8.2 连线SQL Server资料库 453
实例311 使用ODBC DSN连线SQL Server
资料库 453
实例312 使用ODBC非DSN连线SQL Server
资料库 455
实例313 使用OLE DB连线SQL Server资料库 457
实例314 建立SQL Server资料库连线 458
8.3 连线其他资料库 459
实例315 连线Excel 459
实例316 连线文本档案 460
8.4 资料库结构的读取与修改 462
?实例317 读取SQL Server资料库结构 462
实例318 修改SQL Server资料库结构 464
8.5 数据录入 466
实例319 利用数据绑定控制项录入数据 466
实例320 使用ADO。NET对象录入数据 467
实例321 利用SQL语句录入数据 469
实例322 利用存储过程录入数据 470
?实例323 向SQL Server资料库中批量写入
海量数据 472
8.6 图片存取技术 473
实例324 使用存取档案名称的方法存取图片 473
实例325 使用二进制存取用户头像 475
8.7 数据修改 476
实例326 利用数据绑定控制项修改数据 476
实例327 利用数据对象修改数据 478
实例328 利用SQL语句修改数据 479
实例329 利用存储过程修改数据 480
实例330 使用断开式连线批量更新资料库中
数据 482
8.8 数据保存前判断 483
实例331 判断是否重複输入数据 483
实例332 判断输入数据是否符合要求 485
8.9 数据删除 487
实例333 删除表格中指定的记录 487
实例334 利用SQL语句删除数据 488
实例335 利用SQL语句清空数据表 489
8.10 数据记录 490
?实例336 分页显示信息 490
实例337 移动记录 491
实例338 综合查询职工详细信息 492
8.11 数据维护 495
实例339 在C#中创建资料库 495
实例340 在C#中删除资料库 497
实例341 在C#中创建数据表 498
实例342 在C#中删除数据表 499
实例343 在C#中分离SQL Server资料库 500
实例344 在C#中附加SQL Server资料库 502
实例345 在C#中附加单档案SQL Server
资料库 503
8.12 数据备份恢复 504
实例346 备份SQL Server资料库 504
实例347 还原SQL Server资料库 506
8.13 其他资料库开发技术 509
实例348 判断计算机中是否安装了SQL软体 509
实例349 开启SQL Server资料库 510
实例350 断开SQL Server资料库与其他套用
程式的连线 511
实例351 利用SQL语句执行外围命令 512
实例352 对软体进行初始化 513
实例353 带图像列表的系统登录程式 515
第9章 LINQ to Objects——查询记忆体中
对象 517
9.1 LINQ基础套用 518
实例354 使用隐式类型局部变数实现字母的
大小写转换 518
实例355 使用自动实现属性记录用户信息 519
实例356 使用对象初始化器创建对象并为其
属性赋值 520
实例357 使用Lambda表达式查找指定字元串 521
实例358 使用扩展方法显示员工信息 522
?实例359 线上程中使用匿名方法防止窗体
“假死” 524
实例360 使用Predicate委託查找年龄大于30
的员工 525
实例361 使用Action委託实现遍历所有员工
信息 526
实例362 使用Func委託实现计算所有员工
工资总和 527
9.2 限定符操作 528
实例363 检查序列中所有元素是否都满足
指定条件 528
实例364 检查序列中是否包含指定元素 529
9.3 元素操作 531
实例365 获取指定位置的元素 531
实例366 使用LINQ生成随机序列 532
实例367 使用LINQ初始化数组 533
实例368 使用LINQ在一个循环中遍历多个
数组 534
实例369 筛选指定类型的元素 535
实例370 使用LINQ实现销售单查询 536
?实例371 获取某类商品最后一次销售单价 538
9.4 使用LINQ操作字元串 539
实例372 使用LINQ生成字元串 539
实例373 查找字元串中包含的大写字母 540
实例374 查找字元串中包含的数字字元 541
实例375 过滤文章中包含指定单词的句子 542
实例376 统计每个单词在文章中出现的次数 543
实例377 查找文章中以ing结尾的单词 544
实例378 将字元串数组按元素长度分组 547
9.5 类型转换操作 548
实例379 将数据源转换为IEnumerable<T>类型 548
实例380 将数据源转换为IQueryable<T>类型 549
实例381 转换为泛型列表 550
实例382 转换为字典类型 551
实例383 转换为一对多字典 552
实例384 使用LINQ转换序列或集合 554
9.6 使用LINQ操作集合 556
实例385 操作泛型列表List<T> 556
实例386 操作泛型排序列表SortedList
<TKey,TValue> 557
实例387 操作泛型双向鍊表LinkedList<T> 558
实例388 操作泛型伫列Queue<T> 559
实例389 操作泛型堆叠Stack<T> 561
实例390 操作泛型哈希集HashSet<T> 562
实例391 操作泛型字典Dictionary
<TKey,TValue> 563
实例392 操作泛型通用集合Collection<T> 565
实例393 操作泛型绑定列表BindingList<T> 566
9.7 使用LINQ技术操作对象 567
实例394 使用LINQ技术对对象进行筛选操作 567
实例395 使用LINQ技术对对象进行投影操作 568
实例396 使用LINQ技术对对象进行排序操作 570
实例397 使用LINQ技术对对象进行聚合操作 572
实例398 使用LINQ技术对对象进行集合操作 574
实例399 使用LINQ技术对对象进行元素操作 576
实例400 使用LINQ技术对对象进行联接操作 577
?实例401 使用LINQ技术获取档案详细信息 579
第10章 LINQ to SQL——查询关係
资料库 581
10.1 数据查询 582
实例402 查询单表数据 582
实例403 获取与Not Exists等价的语句 585
实例404 按多个栏位降序排序数据表 586
?实例405 关联查询多表数据 587
实例406 按照多个条件分组 588
实例407 实现LINQ动态查询的方法 589
10.2 聚合操作 591
实例408 Count操作——统计每种商品的
销售次数 591
实例409 Sum操作——统计每种商品的
销售总额 592
实例410 Max操作——统计每种商品的
最高销售价 593
实例411 Min操作——统计每种商品的
最低销售价 594
实例412 Average操作——统计每种商品的
销售均价 595
实例413 Aggregate操作——统计月销售额 596
10.3 集合操作 597
实例414 Distinct操作——去除重複的
返货记录 597
实例415 差集操作——获取从未返过货的
商品列表 598
实例416 交集操作——获取有过返货记录的
商品列表 599
实例417 并集操作——查询每种商品的
销售总数 600
10.4 DataContext类的方法 601
实例418 检测资料库是否存在 601
实例419 直接执行SQL查询 602
10.5 数据操作 603
实例420 生成LINQ to SQL对象模型 603
实例421 获取资料库连线信息 606
实例422 使用LINQ技术查询SQL资料库中
的数据 608
实例423 使用LINQ技术向SQL资料库中
添加数据 610
?实例424 使用LINQ技术在SQL资料库中
修改数据 611
实例425 使用LINQ技术在SQL资料库中
删除数据 612
实例426 使用存储过程查询单表数据 613
实例427 使用SQL Server中的函式过滤数据 615
实例428 根据外键获取主表信息 616
实例429 使用LINQ为列表控制项提供数据 617
实例430 使用LINQ技术防止SQL注入式攻击 618
?实例431 使用LINQ技术实现数据分页 620
第11章 LINQ to DataSet——查询
ADO。NET数据集 623
11.1 数据查询 624
实例432 使用LINQ技术查询DataSet中的
单个表 624
实例433 使用LINQ技术对DataSet进行
投影操作 625
?实例434 使用LINQ技术查询DataSet中的
多个表 626
实例435 使用LINQ技术对DataSet进行
筛选操作 627
实例436 使用LINQ技术对DataSet进行
排序操作 628
11.2 数据分区操作 629
实例437 从头开始提取指定数量的记录 629
?实例438 从头开始提取满足指定条件的记录 631
实例439 跳过序列中指定数量的记录 632
实例440 跳过满足指定条件的记录 633
11.3 类型转换操作 634
实例441 将查询结果转换为DataTable 634
实例442 将查询结果转换为DataView 635
11.4 其他操作 636
实例443 聚合操作——按客户分组汇总
销售金额 636
实例444 使用LINQ技术对DataSet进行
元素操作 637
实例445 使用LINQ技术查询前5名数据 639
?实例446 使用LINQ技术对数据进行排序 640
实例447 使用LINQ技术统计员工的工资总额 641
第12章 LINQ to XML——操作XML档案 643
12.1 XML档案基本操作 644
?实例448 使用LINQ技术创建XML档案 644
实例449 使用LINQ技术对XML档案进行读取 645
12.2 查询操作 647
实例450 查找根元素 647
实例451 查找指定名称的元素 648
实例452 查找指定属性的元素 649
实例453 遍历指定节点下的所有对象 650
实例454 只返回指定节点下的注释 652
实例455 访问指定节点的父节点 653
实例456 返回节点集合中每个节点的所有
上级节点 654
实例457 返回节点集合中每个节点的所有
下级节点 656
实例458 返回元素集合中每个元素的所有
属性 657
12.3 元素操作 659
?实例459 使用LINQ技术向XML档案中
添加数据 659
实例460 使用LINQ技术修改XML档案中
的数据 660
实例461 替换指定节点下的所有元素 661
实例462 使用LINQ技术删除XML档案中的
数据 662
实例463 合计XML元素值 664
12.4 属性操作 665
实例464 添加属性到XML档案 665
实例465 修改元素的属性值 666
实例466 删除一个元素的所有属性 667
实例467 将XML档案中的属性转换为元素 669
12.5 其他操作 670
实例468 添加注释到XML档案 670
实例469 添加声明到XML档案 671
实例470 添加文档类型到XML档案 672
实例471 使用LINQ to XML转换XML 673
?实例472 读取XML档案并更新到资料库 676
第4篇 水晶报表与列印篇
第13章 Windows列印组件的使用 680
13.1 列印基础 681
实例473 列印窗体中的数据 681
实例474 图像列印 683
?实例475 自定义横向或纵向列印 684
实例476 自定义列印页码範围 686
实例477 分页列印 688
13.2 常用报表的列印 690
实例478 列印条形码 690
实例479 列印学生个人简历 691
实例480 列印一个空学生证 693
实例481 列印商品入库单据 695
实例482 批量列印学生证书 697
第14章 水晶报表设计技术 701
14.1 水晶报表基本设定 702
实例483 快速创建水晶报表 702
实例484 设计带图片的水晶报表 704
实例485 使图片成为整个报表的背景 706
实例486 设定水晶报表中节的背景图片 707
实例487 设定水晶报表中节的背景色 709
?实例488 在水晶报表中添加图表 710
实例489 设定水晶报表的页面 713
实例490 在水晶报表中添加节 714
实例491 在水晶报表中移动节的顺序 715
实例492 在水晶报表中合併节 716
实例493 在水晶报表中删除节 717
实例494 在水晶报表中显示与隐藏节 718
实例495 设定多列样式水晶报表 719
实例496 设定水晶报表中节的高度 721
实例497 设定水晶报表的摘要信息 722
实例498 设定水晶报表的列印日期与时间 723
14.2 水晶报表的格式化 724
实例499 在水晶报表中使用文本对象 724
?实例500 使用公式栏位 726
实例501 在水晶报表中使用线 728
实例502 在水晶报表中使用方框 729
14.3 对水晶报表进行排序与分组 730
实例503 排序水晶报表中的数据 730
实例504 对水晶报表中的数据进行分组 731
实例505 在水晶报表中筛选数据 732
?实例506 设计分组统计报表 734
实例507 对分组报表中的页码进行设定 735
第15章 水晶报表开发套用 737
15.1 水晶报表常用套用 738
实例508 利用报表专家设计并显示学生
基本信息 738
实例509 动态绑定水晶报表 742
实例510 在水晶报表中使用Access资料库 743
实例511 在水晶报表中使用SQL Server资料库 745
实例512 高数成绩大于90分使用红色字型标记 746
?实例513 订货总金额超过10万元显示“恭喜
获奖”文字 748
实例514 薪资大于或等于1万元使用蓝色
字型标记 750
实例515 筛选薪资大于2000元的男员工 752
实例516 按类别分组统计图书库存 754
实例517 按成绩总分降序排序 755
实例518 部门销售量占公司总销售量的
业绩百分比 757
实例519 在水晶报表中使用交叉表 758
15.2 子报表的使用 760
实例520 插入子报表 760
实例521 编辑与重新导入子报表 761
实例522 根据需要显示子报表 763
实例523 删除子报表 765
15.3 使用水晶报表设计常用报表 766
实例524 设计信封标籤报表 766
?实例525 设计商品入库报表 767
实例526 设计学生个人简历报表 768
实例527 设计汇款单式报表 769
第5篇 注册表操作篇
第16章 注册表基本操作 772
16.1 注册表基本操作 773
实例528 获取注册表信息 773
?实例529 向注册表中写入信息 774
实例530 修改注册表信息 776
实例531 搜寻注册表内容 777
实例532 删除注册表信息 778
实例533 备份注册表 780
实例534 还原注册表 781
实例535 禁止远程修改注册表 782
实例536 禁止运行注册表 783
16.2 注册表在实际中的套用 784
实例537 使用C#打开Windows注册表 784
实例538 建立数据档案与程式的关联 785
?实例539 使应用程式开机自动运行 786
实例540 在注册表中保存窗体的大小和位置 788
实例541 最佳化开关机速度 789
实例542 最佳化选单显示速度 790
实例543 最佳化网上邻居显示速度 791
?实例544 获取本机安装的软体清单 792
第17章 系统个性化设定 793
17.1 开始选单设定 794
实例545 启用和禁用“开始”选单中的
“运行”功能 794
实例546 禁止和开启“开始”选单中的
“关机”功能 795
实例547 在右键选单中添加“用记事本
打开”项 796
17.2 个性桌面 797
?实例548 隐藏桌面捷径图示的小箭头 797
实例549 禁用和启用主题选项卡 798
实例550 禁用和启用外观选项卡 799
实例551 禁用和启用萤幕保护选项卡 800
?实例552 设定系统列时间样式 801
实例553 删除“我的电脑”上下文选单中的
“属性” 802
17.3 系统设定 803
实例554 将磁碟驱动器隐藏 803
实例555 禁止显示系统列的右键选单 804
实例556 禁止对系统列位置进行改变 806
?实例557 禁止使用Windows任务管理器 807
实例558 禁止使用控制台的添加删除程式 808
实例559 禁止使用命令提示符 809
实例560 关机时自动关闭停止回响的程式 810
第18章 IE浏览器设定 811
18.1 IE浏览器基本设定 812
实例561 隐藏桌面上的IE浏览器图示 812
实例562 禁止修改IE浏览器主页 814
?实例563 设定IE浏览器的默认主页 815
实例564 修改IE浏览器标题栏内容 816
实例565 设定IE地址栏的自动完成功能 817
18.2 IE浏览器高级套用 818
?实例566 向收藏夹中添加网址 818
实例567 清除IE地址栏中的历史网址 819
实例568 设定IE浏览器的默认下载路径 821
实例569 清空IE浏览器的快取区 822
?实例570 使用WebBrowser控制项製作IE
浏览器 823
特别提醒:
亲爱的读者朋友,由于近期纸张价格和印製成本大幅上涨,为不增加读者朋友的负担,又不减少书的内容,本书以下章节内容不得不放在配书光碟中,由此给您带来了不便,在此深表歉意。
第6篇 软体安全控制篇
第19章 加密与解密技术 828
(本章内容在配书光碟中)
19.1 数据的加密与解密 829
实例571 异或算法对数字进行加密与解密 829
?实例572 使用MD5算法加密数据 830
实例573 使用ROT13算法加密解密数据 831
实例574 使用恺撒密码算法加密密码 833
?实例575 对数据报进行加密保障通信安全 834
实例576 使用one-time pad算法加密数据 839
实例577 使用伪随机数加密技术加密用户
登录密码 840
实例578 以XML格式导入导出密钥 842
实例579 以参数格式导入导出密钥 844
19.2 档案的加密与解密 846
实例580 文本档案加密与解密 846
实例581 利用图片加密档案 849
实例582 对档案进行加密保护 851
?实例583 使用口令加密执行档 856
实例584 使用对称算法加密解密档案 860
第20章 资料库安全技术 863
(本章内容在配书光碟中)
20.1 连线加密的资料库 864
实例585 连线加密的Access资料库 864
实例586 连线加密的Excel档案 865
?实例587 访问带验证模式的SQL Server资料库 866
20.2 资料库安全在实际中的套用 868
实例588 编程修复Access资料库 868
实例589 Access资料库备份与恢复 869
?实例590 加密资料库中的数据 871
实例591 加密DataSet数据集 873
?实例592 防止SQL注入式攻击 875
第21章 软体安全控制 877
(本章内容在配书光碟中)
21.1 软体的注册 878
实例593 利用INI档案对软体进行注册 878
?实例594 利用注册表设计软体注册程式 880
实例595 利用网卡序列号设计软体注册程式 882
?实例596 根据CPU序列号和磁碟卷标製作
软体注册机 884
21.2 软体的加密 886
实例597 製作一个EXE档案加密器 886
?实例598 限制软体的使用次数 890
实例599 使用强名称标识软体 892
实例600 软体加壳常用工具及使用 893