1.2.2 C#和.NET Framework
C#是一种面向对象的编程语言,主要用于开发可以运行在.NET平台上的应用程序[8]。
C#是一种新的编程语言,由微软公司开发设计,继承了C和C++语言的优点。C#虽然与Java有着很多的相似之处,但是C#与Java有着明显的不同,C#拥有比C、C++或者Java更广泛的数据类型[9]。另外,C#对Windows程序最大的特点是与COM的无缝集成,c#编写的类可以子类化一个COM组件中,同时生成的类也能被COM组件进行调用[10]。
Microsoft.NET Framework 是在高度分布式的互连网环境中,使软件开发简单化的新的计算平台,具有两个主要组件:公共语言运行库和 .NET Framework 类库[11]¬。公共语言运行库是 .NET Framework 的基础。可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性[12]。类库是.NET Framework 的另一个主要组件,它是一个综合性的面向对象的可重用类型集合,许多应用程序都可以使用其类库进行开发和设计。这些应用程序包括传统的命令行或图形用户界面 (GUI) 应用程序,也包括基于 ASP.NET 所提供的最新创新的应用程序(如Web 窗体和 XML Web Services)[13]。
1.2.3 ADO.NET和SQL Server
ADO.NET数据提供程序
ADO.NET的名称起源于ADO(ActiveX Data Objects),是一组用于和数据源进行交互的面向对象类库,是.NET编程环境中优先使用的数据访问接口[14]。ADO.NET允许与不同类型的数据源以及数据库进行交互,不仅能够对一般的数据库进行访问,同时也能够对文本文件、Excel表格或者XML文件进行访问[15]。ADO.NET通过采用不同类库的方法,通常这些类库是以交互的数据源的类型来命名的,这些类库被统称为Data Providers,通过Data Providers提供了一种统一的与数据源进行交互的方法[16]。ADO.NET系统由两个重要部分组成,即.NET DataProvider程序和DataSet程序。ADO.NET具有三个专用对象,即DataAdapter、DataReader和DataSet,用于执行相应的特定任务[17]。
在ADO.NET中,对数据库的操作被分成连接到数据库、执行数据库命令、返回命令执行结果3个可以独立进行的步骤,而开发人员真正需要处理的是数据到达内存中DataSet对象之后的操作[18]。数据提供程序就是执行数据库相关操作的核心组件,如图1.2,不同的数据库提供程序支持不同类型的数据库,开发人员可以根据需要开发特定的数据库实现数据提供程序[19]。
SQL是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系型数据库系统,SQL的 含义是结构化查询语言(Structured Query Language) [20]。
SQL Server 2008是一个完美的数据解决方案,具有集成、全面、端到端的优点,能够为用户提供一个用于企业数据管理和商业智能应用的安全、可靠和高效的平台。SQL Server 2008为数据处理和开发者带来强大而熟悉的管理软件,同时降低了数据系统的多平台上创建、部署、管理、使用和分析的复杂度,通过全面的功能集和现有系统的集成性及对日常任务的自动化管理能力,SQL Server 2008为不同规模的企业提供了一个完整的数据解决方案[21]。
图1.3所示为SQL Server 2008数据平台的组成架构,SQL Server 2008数据平台包括以下工具[22]:
(1) 关系型数据库(Relational DataBase):安全、可靠可伸缩、高可用的关系型数据引擎,能够提升性能并且支持结构化和非结构化(XML)数据。
(2) 复制服务(Replication Services):数据的复制功能可用于数据分发、处理移动数据应用、企业报表解决方案的后备数据可伸缩存储、与异构系统的集成等,包括已有的Oracle、Access等数据库。