
本书详细介绍了使用C#语言和SQL Server 2005进行Windows及Web应用程序开发的技术知识以及综合应用,以Visual Studio.NET 2005和SQL Server 2005为基础,通过大量实例来介绍数据库应用系统的开发方法与技巧。
本书共11章,第1~8章主要介绍了.NET Framework及MSDN、C#程序设计语言、C# Windows程序设计、C# Web程序设计、在.NET环境下XML使用及Crystal Reports技术、ADO.NET核心技术、SQL Server 2005数据库开发技术,第9章和第10章讲解了两个基于C#+SQL Server 2005的应用开发实例,分别是人事管理系统和在线会议管理系统,第11章详细讲解了C#窗体系统和Web系统的安装及数据库的移植。
本书难度适中,实例丰富,既适合C#的初学者阅读,也适合有一定开发经验的读者阅读,书中包含的大量实例对应用程序开发人员具有一定的参考价值。本书可作为大中专院校相关专业的教材或参考用书,也可作为广大程序设计人员的自学用书。
前 言
Microsoft .NET是微软以服务方式递交软件的一种策略。它是微软公司的新战略,所有微软的产品都将围绕这个战略开发。微软为了推行.NET战略,特别为.NET平台设计了一种新语言——C#。C#是由C和C++发展而来的一种“简单、高效、面向对象、类型安全”的程序设计语言,其综合了Visual Basic的高效率和C++的强大功能。C#是.NET的关键语言,是整个.NET平台的基础。
SQL Server 2005是微软开发的新一代企业级数据库产品,它提供了集成的数据解决方案,增强了企业数据的安全性、可伸缩性,更加易于创建、部署和管理。SQL Server 2005集成了分析、报表和通知功能,使得企业可以构建和部署高效的商业智能解决方案。
本书介绍了基于C#语言和SQL Server 2005的Windows及Web应用程序开发的基础知识,并给出了两个综合实例。全书共分为11章,详细介绍了使用C#和SQL Server 2005进行数据库系统开发的各种技术。具体包括的内容如下:
第1章介绍了.NET Framework、Visual Studio集成开发环境、MSDN的安装与使用,以及如何使用Visual Studio 2005集成开发环境创建基于C#语言的Windows和Web应用程序。
第2章介绍了C#程序设计的各种语法,包括数据类型、操作符、表达式及结构、枚举和数组的定义与使用,并详细地讲解了C#的面向对象技术。
第3章详细介绍了利用Visual Studio 2005 开发环境进行Windows应用程序开发的常用元素,包括常用控件、菜单、工具栏和对话框编程等。
第4章详细介绍了ASP.NET 2.0的基本工作原理,以及ASP.NET 2.0的各种管理状态和配置管理,给出了使用基于Visual C#的ASP.NET 2.0创建网站和访问数据库的Web应用程序的示例,并对于ASP.NET 2.0的主题外观功能也作了示例讲解。
第5章介绍了XML基础知识及如何在Visual Studio环境下使用XML进行C#数据库系统的开发。
第6章介绍了C#数据库系统中一类很重要的报表技术——Crystal Reports的设计与制作。
第7章主要介绍了C#数据库系统开发的核心ADO.NET的体系结构,并给出数据源控件、数据绑定控件的使用示例。
第8章详细介绍了SQL Server 2005的基础知识及使用示例,包括创建及维护数据库和数据表、视图、存储过程及数据库的备份和还原。
第9章和第10章分别以人事管理系统和在线会议管理系统为例介绍了三层结构的Windows应用程序的开发和基于C#的Web应用程序的开发。
第11章详细介绍了C#窗体和Web系统的安装程序的制作及不同数据库之间的移植。
本书的特点在于理论与实际应用相结合,克服了理论型书籍难以动手实践和示例型图书难以理解和下手的不足。在理论方面,本书全面介绍了与C#数据库开发相关的知识点,使读者能够有一个完整的认识与把握。本书精选的两个案例从不同方面阐述了Windows及Web应用程序的开发过程及技术。各示例既有相似之处又各不相同,通过这些示例读者可快速掌握基于C#的数据库应用系统的开发。
本书主要由王永皎和廖建军执笔,参与本书编写的还有刘玉领、焦允、靳荣、沈小禹、汪金元、席洪海、王峰、周文兵、董睿、黄东、何明开、章占军、陈志昊、闫首宇、王庆春、杨大伟、王先傲、荣海超、吴鼎一、鲍斌、季军、李伟和朱庆友等同志。在此,对以上人员致以诚挚的谢意!
由于时间仓促,加之作者水平有限,书中不足之处在所难免,敬请读者批评指正。
编 者
??
??
??
??
II
27
目 录
第1章 .NET平台与Visual Studio.NET
开发工具 1
1.1 .NET平台概述 1
1.1.1 什么是.NET 1
1.1.2 .NET Framework 2.0 3
1.1.3 .NET 3.0版本 7
1.2 Visual Studio?.NET开发环境 8
1.2.1 Visual Studio 2005概览 9
1.2.2 使用MSDN 15
1.2.3 理解命名空间 19
1.3 创建第一个C#项目 22
1.3.1 创建控制台应用程序 23
1.3.2 创建Windows应用程序 24
1.3.3 创建Web应用程序 26
1.4 小结 28
第2章 C#程序设计语言基础 29
2.1 C#语言概述 29
2.1.1 C#语言的特点 29
2.1.2 C#语言的编译与执行 30
2.2 C#基础元素 33
2.2.1 语句 33
2.2.2 标识符与关键字 34
2.2.3 变量 35
2.2.4 数据类型 37
2.2.5 操作符与表达式 39
2.3 结构、枚举与数组 45
2.3.1 结构 45
2.3.2 枚举 46
2.3.3 数组 46
2.4 程序结构控制语句 49
2.4.1 if语句 50
2.4.2 switch语句 53
2.4.3 for循环语句 54
2.4.4 foreach循环语句 55
2.4.5 while循环语句 56
2.4.6 do-while循环语句 58
2.4.7 跳出循环 58
2.5 错误及异常处理 61
2.5.1 溢出处理 61
2.5.2 产生异常 62
2.5.3 异常处理 63
2.6 C#与面向对象 66
2.6.1 类与对象 66
2.6.2 域与属性 69
2.6.3 构造器与析构器 72
2.6.4 方法 74
2.7 集合 82
2.7.1 集合与数组的区别 82
2.7.2 ArrayList集合类 83
2.7.3 Queue?集合类 84
2.7.4 Stack集合类 86
2.7.5 Hashtable集合类 88
2.7.6 SortedList集合类 89
2.8 小结 90
第3章 Windows窗体应用程序开发 93
3.1 Windows窗体编程 91
3.1.1 .NET Framework窗体编程
相关基类 92
3.1.2 添加Windows窗体 96
3.1.3 添加控件 97
3.1.4 布局控件 99
3.1.5 设置控件属性 100
3.1.6 响应控件事件 102
3.2 常用控件 104
3.2.1 标签和基于按钮的控件 104
3.2.2 文本框控件 107
3.2.3 列表控件 110
3.2.4 日期时间相关控件 112
3.2.5 TreeView与ListView控件 115
3.2.6 TabControl控件 121
3.2.7 Splitter控件 125
3.2.8 控件排版 126
3.3 菜单设计 127
3.3.1 在Visual Studio 2005开发
环境中使用菜单 127
3.3.2 MainMenu类 129
3.3.3 MenuItem类 131
3.3.4 ContextMenu类 136
3.3.5 处理菜单事件 139
3.4 工具栏与状态栏设计 140
3.4.1 添加工具栏 140
3.4.2 响应工具栏事件处理 142
3.4.3 添加状态栏 142
3.5 MDI应用程序 144
3.5.1 C# Form类 144
3.5.2 构建MDI应用程序 146
3.6 对话框编程 149
3.6.1 通用对话框与Common
Dialog类 149
3.6.2 打开/保存文件对话框(OpenFile
Dialog/SaveFileDialog) 150
3.6.3 字体对话框(FontDialog) 152
3.6.4 颜色对话框(ColorDialog) 155
3.6.5 打印对话框(PrintDialog) 156
3.7 小结 158
第4章 C#基于ASP.NET 2.0的Web
应用 161
4.1 ASP.NET 2.0概述 159
4.2 ASP.NET 2.0配置管理 160
4.2.1 ASP.NET配置概述 160
4.2.2 ASP.NET配置文件 162
4.2.3 ASP.NET和IIS配置 167
4.2.4 ASP.NET MMC管理单元 168
4.2.5 ASP.NET 网站管理工具 170
4.2.6 ASP.NET配置API 170
4.2.7 保证ASP.NET配置的安全 171
4.2.8 为SQL Server创建和配置
应用程序服务数据库 171
4.3 使用ASP.NET 2.0创建Web
应用程序 172
4.3.1 基于C#创建ASP.NET网站 173
4.3.2 理解Server控件 178
4.3.3 创建和使用主题外观 180
4.4 创建基于Visual C#的数据库
Web应用程序 184
4.5 小结 190
第5章 C#数据传输与XML 191
5.1 XML概述 191
5.1.1 什么是XML 191
5.1.2 创建格式良好的XML文档 192
5.1.3 验证XML文档的有效性 199
5.2 在.NET中使用XML 203
5.2.1 XML文档对象模型 203
5.2.2 .NET Framework对XML
的支持 207
5.2.3 在.NET中读取XML 212
5.2.4 在.NET中编辑XML 224
5.3 小结 241
第6章 C#中的报表技术—— 水晶报表 243
6.1 水晶报表概述 243
6.1.1 水晶报表简介 243
6.1.2 Crystal Reports for Visual
Studio 2005设计器 245
6.1.3 使用报表向导 249
6.2 水晶报表的设计 255
6.2.1 数据库专家 255
6.2.2 节专家 257
6.2.3 组专家 257
6.2.4 组排序专家 259
6.2.5 突出显示专家 260
6.2.6 图表专家 261
6.2.7 选择专家 262
6.3 在C#中使用水晶报表 264
6.3.1 在Windows Form中使用
水晶报表 265
6.3.2 在Web Form中使用
水晶报表 266
6.4 小结 268
第7章 数据库系统核心—— ADO.NET
对象 269
7.1 ADO.NET概述 269
7.1.1 ADO.NET结构 269
7.1.2 .NET Framework 数据
提供程序 271
7.2 数据连接对象Connection 272
7.2.1 Connection对象的属性 272
7.2.2 Connection对象的方法 273
7.2.3 Connection对象的事件 274
7.2.4 创建Connection对象 276
7.2.5 Connection对象的应用 278
7.3 执行数据库命令对象Command 278
7.3.1 Command对象的属性 279
7.3.2 Command对象的方法 279
7.3.3 创建Command对象 281
7.3.4 Command对象的应用 281
7.4 数据读取器对象DataReader 282
7.4.1 DataReader对象的属性 283
7.4.2 DataReader对象的方法 283
7.4.3 创建DataReader对象 284
7.4.4 DataReader对象的应用 285
7.5 数据适配器对象DataAdapter 286
7.5.1 DataAdapter对象的属性 286
7.5.2 DataAdapter对象的方法 287
7.5.3 DataAdapter对象的事件 288
7.5.4 创建DataAdapter对象 288
7.5.5 使用DataAdapter填充数据集 289
7.6 数据集对象DataSet 289
7.6.1 DataSet内部结构 289
7.6.2 创建DataSet对象 291
7.6.3 使用DataSet对象访问数据库 291
7.7 使用ADO.NET连接数据源 292
7.7.1 连接ODBC数据源 292
7.7.2 连接OLE DB数据源 294
7.7.3 访问Excel 294
7.7.4 访问文本文件 295
7.7.5 在C#中使用ADO.NET访问
数据库 296
7.8 数据源控件 300
7.8.1 ObjectDataSource数据源控件 300
7.8.2 SqlDataSource数据源控件 304
7.8.3 AccessDataSource数据源控件 306
7.8.4 SiteMapDataSource数据源
控件 308
7.8.5 XmlDataSource数据源控件 309
7.9 数据绑定控件 311
7.9.1 GridView控件 311
7.9.2 Repeater控件 313
7.9.3 DataList控件 315
7.9.4 DetailsView控件 318
7.9.5 FormView控件 320
7.10 小结 324
第8章 后台数据库系统——
SQL Server 2005 325
8.1 配置SQL Server 2005 325
8.1.1 初识SQL Server 2005 325
8.1.2 服务的启动、停止、暂停和
重新启动 326
8.1.3 配置服务的启动模式 328
8.1.4 更改登录身份 329
8.1.5 为SQL Server 2005配置
共享内存协议 330
8.2 创建和管理SQL Server 2005
数据库 331
8.2.1 数据类型 331
8.2.2 SQL Server Management Studio
概述 333
8.2.3 创建数据库 337
8.2.4 删除数据库 339
8.3 创建和管理SQL Server 2005
数据表 340
8.3.1 创建数据表 340
8.3.2 修改数据表 341
8.3.3 删除数据表 343
8.3.4 维护表数据 343
8.3.5 查询表数据 344
8.4 外键关系 344
8.5 索引和视图 346
8.5.1 索引(Index) 346
8.5.2 视图(View) 347
8.6 存储过程和触发器 349
8.6.1 存储过程 349
8.6.2 触发器 350
8.7 Reporting Services 352
8.7.1 Reporting Services概述 352
8.7.2 创建报表 353
8.7.3 发布报表 358
8.7.4 报表的传递技术 364
8.8 数据库的备份和还原 364
8.8.1 备份数据库 365
8.8.2 还原数据库 366
8.8.3 自动备份的维护计划 367
8.9 小结 372
第9章 人事管理系统 373
9.1 系统设计 373
9.1.1 需求分析 373
9.1.2 系统设计 374
9.2 系统文件架构 375
9.3 数据库设计 377
9.3.1 数据表的概要说明 377
9.3.2 主要数据表的结构定义 378
9.4 通用程序设计 381
9.4.1 Certification类设计 381
9.4.2 DataAccess类设计 382
9.5 设计系统主窗体 385
9.5.1 界面设计 385
9.5.2 FormMain类设计 387
9.6 权限设置模块的实现 390
9.7 人事档案管理模块的实现 393
9.7.1 人事档案管理窗体的实现 393
9.7.2 添加、修改员工信息窗体
(FormAddEmp)的实现 401
9.8 部门及其他设置模块的实现 406
9.8.1 部门设置窗体的实现 406
9.8.2 添加内容窗体(FormTreeNode)
的实现 411
9.9 小结 413
第10章 在线会议管理系统 415
10.1 总体设计 415
10.2 文件架构 416
10.3 数据库设计 417
10.3.1 数据表的概要说明 417
10.3.2 主要数据表的结构定义 418
10.3.3 表之间的关系图 419
10.4 在线会议管理系统的详细设计 419
10.4.1 与数据库连接的实现 419
10.4.2 登录模块的实现 420
10.4.3 用户管理模块的实现 422
10.4.4 会议室管理模块的实现 437
10.4.5 会议管理模块的实现 448
10.4.6 我的会议模块的实现 461
10.5 小结 468
第11章 Visual Studio 2005制作安装
部署程序及数据库移植 469
11.1 Visual Studio 2005制作Web
安装程序 469
11.1.1 创建基本安装部署项目 469
11.1.2 添加自定义操作——
安装数据库 472
11.1.3 添加启动条件 478
11.1.4 卸载程序 479
11.2 Visual Studio 2005制作Windows
安装部署程序 481
11.2.1 创建安装部署项目 481
11.2.2 添加主程序项目输出 482
11.2.3 创建快捷方式 483
11.2.4 加入卸载功能 483
11.2.5 生成安装包 484
11.3 数据库移植 485
11.3.1 数据库移植概述 485
11.3.2 SQL Server数据库向
高版本移植 485
11.3.3 Access数据库向SQL
Server 2005移植 488
11.3.4 MySQL数据库向SQL Server
2005移植 489
11.3.5 数据库移植需要注意的问题 493
11.4 小结 493
??
??
??
??
VI
VII