C#开发实战1200例(第II卷)


请输入要查询的词条内容:

C#开发实战1200例(第II卷)




图书信息


书名:《C#开发实战1200例(第Ⅱ卷)》

作者:明日科技 王小科 王军

出版社:清华大学出版社

ISBN:9787302251552出版时间:2011-6-1

定价: 99RMB

内容简介


本书以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用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

相关分词: C# 开发 实战 1200 II