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

时间:2022-10-24 18:24:44

 第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