VisualC#2005数据库通用模块开发与系统移植

VisualC#2005数据库通用模块开发与系统移植"

作者:吴晨、胡书敏、蔡威
ISBN:9787302151395
定价:¥48
字数:千字
页数:
出版时间:2007.05.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

Visual C# 2005是Microsoft公司开发的新一代编程语言包,由于其内嵌在.NET Framework中,所以不仅包含了ADO.NET这一功能强大的数据库开发组件,而且更具有“显示逻辑同业务逻辑分离”这一特性。由于其具有功能强大,使用方便的特点,已成为数据库编程必不可少的工具。

本书以面向对象思想和设计模式为指导,通过大量实例,详细介绍了ADO.NET、基于数据库应用的通用模块、数据库系统综合实例设计和开发、数据库的移植升级、项目打包发布和安装等方面的应用技术,内容包括数据库开发的诸多技术和数据库模块的设计理念,用户登录、邮件管理、报表设计、图片管理、在线投票信息发布和管理等通用功能模块,Blog和在线购物项目案例,C#应用程序的打包发布和安装,数据库以及项目案例的升级。

本书不仅适用于使用Visual C# 2005进行软件开发的具有编程经验的广大软件开发人员,也适合高等院校师生学习和参考使用,特别对高等院校计算机及相关专业的学生进行毕业设计具有非常好的参考价值,也可以作为广大计算机编程爱好者的自学与参考用书。

前言

前     言

  

  Visual C# 2005是Microsoft公司开发的最新一代编程语言包,由于其内嵌在.NET Framework中,所以程序员在用其开发应用程序时,一方面能方便地使用.NET Framework中的ADO.NET组件,高效快捷地开发基于数据库访问的应用代码,另一方面能利用其“显示逻辑同业务逻辑分离”的良好编程特性,从架构的层次上,分离窗体类的代码和业务功能类的代码,从而提高所开发项目的可维护性和可重用性(即可移植性)。

  另外,从软件工程的角度来讲,由于在开发新项目时,要尽可能地重用现有的功能模块,所以在开发具有各功能的业务模块时,要尽量把其设计并构造成一个通用的组件。并且,由于应用项目会时常面临需求变更以及功能维护的工作,所以,在编写应用项目的代码前,有必要在分析其潜在变更点的前提下,合理地设计项目的架构以及功能模块的布局,为项目提供架构层次的维护和扩展空间。

  本书在合理利用Visual C# 2005编程语言的优势基础上,以数据库应用技术为主线,以面向对象和设计模式等优秀设计理念为指导,综合分析C#数据库应用方面的知识和实例。本书共分为13章,各章内容如下:

  第1章主要介绍了面向对象思想的各要素,以及如何根据面向对象思想设计C#的数据库访问模块的架构。

  第2章围绕ADO.NET中的两种数据提供者(Data Provider),在详细介绍其中Connection、Command、DataAdapter、DataReader和DataSet类的基础上,综合讲述基于DataGrid控件的ADO.NET综合应用技术。

  第3章在ADO.NET组件的基础上,除了讲述XML和存储过程等数据库高级应用技术外,还结合数据库应用代码,给出能指导项目设计的设计模式原则。特别是DAO模式更能提高代码可移植性和重用性。

  第4~9章详细介绍基于数据库应用的通用功能模块。其中,第4章介绍了用户登录模块,第5章介绍了邮件发送管理模块,第6章介绍了生成水晶报表和Excel报表模块,第7章介绍了基于Windows和Web的两种版本的图片管理模块,第8章介绍了在线投票模块,第9章介绍了信息发布和管理模块。请读者们注意这些模块中的数据库访问代码。在第4章是直接把ADO.NET写在业务逻辑里,经不断改进,在第9章则是根据DAO原则设计通用的数据库访问模块,读者能从这个过程中体验到设计模式给项目开发带来的便利。

  第10章和第11章分别讲述了Blog和在线购物系统这两个综合应用项目,其中不仅包含了面向ADO.NET的数据库应用,而且重用了前文给出的各功能模块。

  第12章以一个基于Windows的项目为例,讲述C#项目的打包、发布和安装的详细步骤。

  第13章模拟客户对在线购物系统提出的“数据库迁移”、“功能升级”和“模块维护”等要求,根据“代码重用”和“架构维护”等原则,通过实例讲述代码升级、数据库迁移及项目维护的实施理念和步骤。

  本书不仅注重模块的通用性和代码的实践性,更着重分析了根据面向对象思想和设计模式,来优化模块的设计和提高代码质量的目的、思考方式与实现步骤。本书的读者对象可以是具有Visual C#编程经验的软件开发人员,也可以是高等院校的师生。特别对高等院校计算机及相关专业的学生进行毕业设计具有一定的参考价值。此外,本书也可以作为广大计算机编程爱好者的自学和参考用书。

  本书由吴晨、胡书敏和蔡威执笔,在编写本书文稿和代码的过程中,得到了大连理工大学孟宪福先生的大力支持和指导,在此表示衷心的感谢。此外,还要感谢上海师范大学的梅晓东同学和上海畅想电脑有限公司的奚亦扬先生,他们参与了校对本书全部文稿和代码的工作。再者,蒋忠、沈学兵、韩建国、杨树平、孔凡、曹丽、严明志、华剑、朱伯芳、秦智育、尤鲲、许杨道、赵小燕、钱云、孙志新等同志在本书的编写过程中也做了大量工作,在此也表示感谢。

  由于时间仓促,加之作者水平有限,书中不足之处在所难免,敬请读者批评指正。

  

  

编  者

2007年3月

  

  

  

     

  

     

  

目录

目    录

  

  

第1章  面向对象思想与C#数据库开发 1

1.1  面向对象思想的需求背景 1

 1.1.1  编程语言发展历程 1

 1.1.2  面向过程语言的缺陷 2

1.2  面向对象思想概述 2

 1.2.1  封装与细节屏蔽 3

 1.2.2  继承与扩展 7

 1.2.3  事件与多态 9

1.3  面向对象思想与数据库访问模块 12

 1.3.1  数据库访问模块的设计目标 12

1.3.2  通用数据库访问模块的逻辑

代码 12

1.4  本章小结 13

第2章  C#与数据库访问技术 15

2.1  ADO.NET概述 15

 2.1.1  ADO.NET体系结构 15

 2.1.2  ADO.NET对象模型 16

2.2  Connection对象与数据库连接 17

 2.2.1  Connection对象的常用属性 17

2.2.2  Connection对象的

连接字符串 18

 2.2.3  Connection对象的常用方法 20

2.2.4  Connection对象连接数据源

代码示例 21

2.3  Command对象与查询语句 22

 2.3.1  Command对象的常用属性 22

 2.3.2  Command对象的常用方法 23

2.3.3  Command对象创建SQL

语句代码示例 25

2.4  DataReader对象与数据获取 27

 2.4.1  DataReader对象的常用属性 27

 2.4.2  DataReader对象的常用方法 27

2.4.3  DataReader对象访问数据库

代码示例 29

2.5  DataAdapter对象 30

 2.5.1  DataAdapter对象的常用属性 30

 2.5.2  DataAdapter对象的常用方法 31

 2.5.3  DataAdapter对象代码示例 33

2.6  DataSet对象 34

 2.6.1  DataSet对象概述 35

 2.6.2  DataSet对象模型 35

 2.6.3  DataColumn和DataRow对象 37

 2.6.4  使用DataSet对象访问数据库 41

2.7  ADO.NET代码综合示例 42

 2.7.1  使用OLE DB .NET Provider 42

 2.7.2  使用SQL Server.NET Provider 43

 2.7.3  数据库访问综述 44

2.8  DataGrid控件与数据库

访问技术 44

 

 2.8.1  DataGrid控件与数据绑定 45

 2.8.2  DataGrid代码示例 45

2.9  本章小结 47

第3章  数据库管理高级技术 49

3.1  存储过程 49

3.1.1  什么是存储过程 49

3.1.2  使用Command对象执行存储

过程 51

3.1.3  使用DataAdapter对象执行存储

过程 51

 3.2  ADO.NET访问XML文件 51

 3.2.1  XML概述 52

3.2.2  使用DataSet对象

操作XML文件 53

3.3  存储过程和XML综合示例

代码 58

 3.3.1  准备数据库环境 58

 3.3.2  创建Windows项目 59

 3.3.3  主窗体界面设计 59

 3.3.4  编写主窗体的业务逻辑代码 60

 3.3.5  执行存储过程的界面设计 61

3.3.6  编写执行存储过程的业务

逻辑代码 62

 3.3.7  创建XML文件的界面设计 65

3.3.8  编写创建XML文件的业务

逻辑代码 66

 3.3.9  读取XML文件的界面设计 67

3.3.10  编写打开XML文件的业务

逻辑代码 68

 3.3.11  执行示例 69

3.4  设计模式与数据库访问模块 71

 3.4.1  设计模式概述 71

 3.4.2  使用工厂模式屏蔽创建细节 73

3.4.3  使用桥接(Bridge)模式实现

代码扩展 75

3.4.4  使用DAO模式分离访问动作

与实现逻辑 77

3.4.5  外观(Facade)模式和代理

(Proxy)模式 82

 3.4.6  设计模式与项目管理 83

3.5  本章小结 84

第4章  通用登录模块 85

4.1  需求分析与设计 85

 4.1.1  需求分析 85

 4.1.2  文件功能设计 86

 4.1.3  数据库设计 87

4.2  建立ASP.NET项目 90

4.3  用户登录模块 91

 4.3.1  界面设计 91

 4.3.2  业务逻辑设计 92

4.4  用户注册模块 95

 4.4.1  界面设计 96

 4.4.2  业务逻辑设计 97

4.5  后台管理员模块 100

 4.5.1  界面设计 101

 4.5.2  业务逻辑设计 101

4.6  系统运行示例 104

 4.6.1  用户登录 104

 4.6.2  用户注册 104

 4.6.3  后台管理 105

4.7  本章小结 106

第5章  邮件发送管理模块 107

5.1  需求分析与设计 107

 5.1.1  需求分析 107

 5.1.2  模块设计 108

 5.1.3  数据库设计 109

5.2  .NET与SMTP协议 110

 5.2.1  SMTP协议概述 111

 5.2.2  .NET对SMTP协议的支持 112

5.3  建立.NET的窗体项目 113

5.4  数据库管理模块 114

5.5  邮件发送系统的主窗体 117

 5.5.1  窗体界面设计 117

 5.5.2  编写业务逻辑 118

5.6  通讯录管理窗体 119

5.6.1  设计通讯录管理主窗体的

界面 119

5.6.2  编写通讯录主窗体的业务

逻辑代码 120

5.6.3  设计编辑通讯录信息

的界面 124

5.6.4  编写编辑通讯录信息界面

的业务逻辑代码 125

 5.6.5  设计新增通讯录信息的界面 127

5.6.6  编写添加通讯录信息界面

的业务逻辑代码 128

5.7  邮件群发界面 130

 5.5.1  邮件群发主界面设计 130

5.5.2  编写邮件群发主界面

的业务逻辑 131

 5.5.3  邮件群发执行界面设计 137

 5.5.4  编写群发邮件的业务逻辑 138

5.8  普通的发送邮件界面 141

 5.8.1  窗体界面设计 141

 5.8.2  编写业务逻辑代码 143

5.9  模块功能演示 147

 5.9.1  通讯录管理功能演示 147

 5.9.2  群发邮件功能演示 148

5.10  本章小结 149

第6章  数据报表模块 151

6.1  需求分析与设计 151

6.1.1  需求分析 151

6.1.2  模块设计 152

6.1.3  数据库设计 153

6.2  建立Windows项目 153

6.3  报表生成主模块 154

6.3.1  设计主窗体界面 154

6.3.2  编写业务逻辑 155

6.4  数据库管理模块 156

6.4.1  通用的数据库访问代码 156

6.4.2  通讯录相关的数据库

访问代码 161

6.5  Excel文件生成模块 161

6.5.1  设计“普通Excel导出”

的界面 161

6.5.2  编写“普通Excel导出”模块

的业务逻辑 163

6.5.3  设计“高级Excel导出”

的界面 165

6.5.4  编写“高级Excel导出”模块

的业务逻辑 165

6.6  水晶报表生成模块 167

6.6.1  水晶报表概述 167

6.6.2  “push模型水晶报表”

的界面设计 168

6.6.3  编写以push产生模型水晶报表

的业务逻辑 172

6.6.4  “pull模型水晶报表”

的界面设计 172

6.6.5  编写以pull产生模型水晶报表

的业务逻辑 174

6.7  报表生成演示 174

6.7.1  数据预览 174

6.7.2  生成Excel报表 175

6.7.3  生成水晶报表 176

6.8  本章小结 176

第7章  图片管理系统模块 177

7.1  需求分析 177

7.1.1  Web图片管理系统需求分析 177

7.1.2  Windows图片管理系统

需求分析 178

7.2  Web版本的系统设计 179

7.2.1  图片管理系统设计 179

7.2.2  图片管理系统数据库设计 181

7.2.3  编写数据库存储过程

代码 182

7.3  建立.NET的网站WEB项目 183

7.4  数据库管理模块 184

7.5  Web图片管理系统的主窗体 186

7.5.1  窗体界面设计 186

7.5.2  编写业务逻辑 187

7.6  上传图片窗体 192

7.6.1  设计上传图片窗体的界面 192

7.6.2  编写上传图片窗体的

业务逻辑代码 193

7.7  新建界面 194

7.7.1  新建界面设计 195

7.7.2  编写新建界面的

业务逻辑 195

7.8  修改界面 196

7.8.1  修改界面设计 197

7.8.2  编写修改界面的

业务逻辑代码 197

7.9  Web图片管理系统模块演示 198

7.10  Windows版本的系统设计 202

7.11  建立.NET的窗体项目 202

7.11.1  Windows图片管理系统

界面设计 203

7.11.2  Windows图片管理系统

业务逻辑 204

7.12  Windows图片管理系统

模块演示 206

7.13  本章小结 207

第8章  在线投票模块 209

8.1  需求分析与设计 209

8.1.1  需求分析 209

8.1.2  模块设计 210

8.1.3  数据库设计 210

8.2  建立ASP.NET项目 213

8.3  数据库管理模块 214

8.4  登录模块 221

8.4.1  界面设计 222

8.4.2  编写业务逻辑 222

8.5  在线投票主模块 223

8.5.1  界面设计 224

8.5.2  编写业务逻辑 225

8.6  投票模块 228

8.6.1  界面设计 228

8.6.2  编写业务逻辑 230

8.7  程序运行示例 233

8.8  本章小结 234

第9章  信息发布模块 237

9.1  需求分析与设计 237

9.1.1  需求分析 237

9.1.2  模块设计 238

9.1.3  数据库设计 239

9.2  建立ASP.NET项目 242

9.3  数据库管理模块 242

9.4  信息发布系统的登录模块 248

9.4.1  界面设计 248

9.4.2  编写业务逻辑 249

9.5  信息发布的主界面 250

9.5.1  信息发布界面设计 250

9.5.2  编写信息发布主界面

的业务逻辑 252

9.5.3  显示详细信息的界面设计 254

9.5.4  编写显示详细信息

的业务逻辑 255

9.6  信息发布模块 256

9.6.1  界面设计 257

9.6.2  编写信息发布主界面

的业务逻辑 258

9.7  信息修改模块 259

9.7.1  界面设计 259

9.7.2  编写信息发布主界面的

业务逻辑 260

9.8  系统运行示例 262

9.8.1  登录 262

9.8.2  进入信息发布主界面 262

9.8.3  查看信息的详细内容 263

9.8.4  编辑信息 263

9.8.5  发布信息 264

9.9  本章小结 265

第10章  创建和发布自己的Blog网站 271

10.1  需求分析 267

10.1.1  怎样建立一个好

的Blog网站 267

 10.1.2  需求分析 268

10.2  设计Blog模块 269

 10.2.1  模块设计 269

 10.2.2  数据库设计 272

 10.2.3  项目设计 282

10.3  数据库管理模块 283

10.3.1  重用数据库访问模块

的代码 283

10.3.2  编写Blog文章相关的

数据库访问模块 284

10.3.3  编写日志相关的数据库

访问模块 286

10.3.4  编写Blog用户管理相关

的数据库访问模块 288

10.3.5  编写Blog评论相关的

数据库访问模块 289

10.3.6  编写照片管理的数据库

访问模块 290

10.4  通用模块设计 292

 10.4.1  设计Logo界面 292

10.4.2  编写“最新注册博客” 

的界面实现和功能 294

10.4.3  编写“最新更新博客” 

的界面实现和功能 296

10.4.4  编写“博客搜索”的界面

实现和功能 297

 10.4.5  编写日历界面实现和功能 299

 10.4.6  显示个人 Blog标题 299

10.4.7  编写“最新评论”的界面

实现和功能 301

10.4.8  编写“最新日志”的界面

实现和功能 303

10.4.9  编写“图片显示”的界面

实现和功能 304

10.5  日志管理与发布模块 305

10.5.1  添加、删除和修改日志

模块的界面设计 305

10.5.2  添加、删除和修改日志

模块的业务逻辑 309

 10.5.3  日志显示模块的界面设计 315

 10.5.4  日志显示模块的业务逻辑 318

10.6  博客首页设计 319

 10.6.1  界面设计 319

 10.6.2  编写业务逻辑 323

10.7  登录管理模块 324

10.7.1  通过重用,设计登录模块

的界面 324

10.7.2  通过重用,编写登录模块

的业务逻辑 326

10.7.3  通过重用,设计注册模块

的界面 327

10.7.4  通过重用,编写注册模块

的业务逻辑 329

10.8  精确搜索模块 331

 10.8.1  界面设计 331

 10.8.2  编写业务逻辑 333

10.9  在本地发布运行Blog 334

 10.9.1  使用IIS发布Blog 334

 10.9.2  Blog网站首页 337

 10.9.3  注册与登录 339

 10.9.4  个人Blog空间 340

 10.9.5  浏览日志 340

 10.9.6  照片管理 340

 10.9.7  精确搜索 341

10.10  发布Blog 342

   10.10.1  虚拟主机 342

   10.10.2  定购主机 344

   10.10.3  申请域名 345

   10.10.4  域名管理 346

   10.10.5  上传博客文件 347

10.11  本章小结 348

第11章  在线购物系统 349

11.1  在线购物系统的需求分析 349

 11.1.1  在线购物系统的设计理念 350

11.1.2  在线购物系统

的功能需求点 350

11.2  项目设计 351

 11.2.1  模块设计 351

 11.2.2  数据库设计 353

 11.2.3  创建在线购物项目 358

11.3  数据库管理模块 358

 11.3.1  通用的数据库访问模块 358

11.3.2  商品管理业务逻辑相关

的数据库访问模块 359

11.3.3  订单管理逻辑相关的

数据库访问模块 361

11.3.4  商品种类管理的数据库

访问模块 363

11.3.5  用户管理的数据库访问

模块 364

11.4  编写通用功能模块的代码 365

 11.4.1  登录模块 365

 11.4.2  搜索模块 369

 11.4.3  商品分类模块 373

 11.4.4  购物系统的标题模块 374

 11.4.5  用户对象设计 376

 11.4.6  订单对象设计 378

11.5  用户注册模块 381

 11.5.1  界面设计 381

 11.5.2  逻辑代码 385

11.6  在线购物系统的首页 386

 11.6.1  界面设计 387

 11.6.2  逻辑代码 388

11.7  商品介绍模块 395

 11.7.1  界面设计 395

 11.7.2  逻辑代码 396

11.8  购物车管理 397

 11.8.1  界面设计 398

 11.8.2  逻辑代码 399

11.9  订单查询模块 402

 11.9.1  界面设计 402

 11.9.2  逻辑代码 404

11.10  项目扩展与维护 405

   11.10.1  扩展需求及其对策 405

11.10.2  数据迁移需求及其所用

技术 406

11.11  在线购物系统效果演示 407

   11.11.1  在线购物首页 407

   11.11.2  用户注册 408

   11.11.3  查看商品的详细信息 409

   11.11.4  查看分类商品的信息 410

   11.11.5  搜索商品 411

   11.11.6  购买商品 412

   11.11.7  查看购物车 413

   11.11.8  订单查询 413

11.12  本章小结 414

第12章  新生报到注册系统 415

12.1  需求分析与设计 415

 12.1.1  需求分析 415

 12.1.2  模块设计 415

 12.1.3  数据库设计 416

12.2  建立Windows项目 417

12.3  数据库管理模块 418

 12.3.1  共通的数据访问模块 419

12.3.2  新生注册相关业务的

数据库实现模块 421

12.4  注册主模块 423

 12.4.1  设计主窗体界面 425

 12.4.2  编写业务逻辑 426

12.5  新生注册 427

 12.5.1  设计新生注册界面 427

 12.5.2  编写业务逻辑 429

12.6  注册查询 430

 12.6.1  设计注册查询的界面 431

 12.6.2  编写业务逻辑 432

12.7  修改新生信息 433

12.7.1  设计修改新生信息

的界面 433

 12.7.2  编写业务逻辑 434

12.8  打包发布本项目 436

12.9  本系统效果演示 442

 12.9.1  系统首页 442

 12.9.2  新生注册 443

 12.9.3  注册修改 444

 12.9.4  注册查询 445

12.10  本章小结 446

第13章  项目移植与代码重用技术 447

13.1  项目移植与维护总体需求 447

 13.1.1  移植工作要做点什么 447

 13.1.2  如何进行系统维护 449

13.1.3  通过代码重用来减轻

工作量 450

13.2  项目维护与重构理论 451

 13.2.1  代码重构概述 451

 13.2.2  OCP原则与代码重构 452

 13.2.3  SRP原则与代码维护 453

 13.2.4  DIP原则与基类稳定 453

13.3  迁移在线购物系统的数据库

系统 455

13.3.1  迁移到SQL Server 2005

数据库 456

 13.3.2  迁移到Oracle数据库 463

13.3.3  SQL Server迁移到MySQL

数据库 470

13.4  升级在线购物系统 474

 13.4.1  变更需求点分析 475

 13.4.2  迁移业务逻辑点 475

13.4.3  关于“添加报表功能”

的需求分析 480

13.4.4  实现“添加报表功能”

的升级工作 480

13.5  功能维护后的成果演示 482

 13.5.1  添加投票项 482

 13.5.2  在线投票 482

 13.5.3  查看投票结果 483

13.6  本章小结 483

  

  

  

  

     

  

  

  

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个