⒉结构
ADO.NET 实际上是一组向 .NET 程序员公开数据访问服务的类。应用程序通过 ADO.NET 来连接到这些数据源,并检索(SELECT)、操作(Alert/Delete)和更新(Update)数据。
设计 ADO.NET 组件的目的是为了从数据操作中分解出数据访问。
ADO.NET 包含两个核心组件:
(1)DataSet
(2).NET Framework 数据提供程序
DataSet 是 ADO.NET 的断开式结构的核心组件。DataSet 的设计目的很明确:为了实现独立于任何数据源的数据访问。因此,它可以用于多种不同的数据源,用于 XML 数据,或用于管理应用程序本地的数据。DataSet 包含一个或多个 DataTable 对象的集合,这些对象由数据行和数据列以及主键、外键、约束和有关 DataTable 对象中数据的关系信息组成。
.NET Framework 数据提供程序包括一组对象:Connection、Command、DataReader 和 DataAdapter。其组件的设计目的相当明确:为了实现数据操作和对数据的快速、只进、只读访问。Connection 对象提供与数据源的连接。Command 对象能够访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。DataReader 从数据源中提供高性能的数据流。最后,DataAdapter 提供连接 DataSet 对象和数据源的桥梁。DataAdapter 使用 Command 对象在数据源中执行 SQL 命令,以便将数据加载到 DataSet 中,并使对 DataSet 中数据的更改与数据源保持一致。
.NET Framework 提供了四个 .NET Framework 数据提供程序:SQL Server .NET Framework 数据提供程序、OLE DB .NET Framework 数据提供程序、ODBC .NET Framework 数据提供程序和 Oracle .NET Framework 数据提供程序。
ADO.NET 结构如图1所示。

图1 ADO.NET 结构
DataSet 的设计能够使用 XML Web Services 方便地通过 Web 将数据传输到客户端,并允许使用 .NET 远程处理服务在 .NET 组件之间封送数据。还可以通过这种方式对强类型的 DataSet 进行远程处理。
要注意的是,DataTable 对象也可以与远程处理服务一起使用,但不能通过 XML Web Services 进行传输。
ADO.NET 类在 System.Data.dll 中,并且与 System.Xml.dll 中的 XML 类集成。当编译使用 System.Data 命名空间的代码时,应引用 System.Data.dll 和 System.Xml.dll。
二、实例程序说明
⒈ 需求分析
软件是为一位股民设计的。他参与股市已有十多年。多年的炒股经历使他积累了丰富独特的股市中长期分析经验。这些经验,既有技术分析,也有基本分析。对技术分析来说,有对现有图表的改造、组合,也有自己的发明。对基本分析来说,针对不同时期有不同的分析指标,还有对多指标的综合。显然,运用这些经验,需要大量的数学计算,靠人脑、手算不但十分繁琐还容易出错。
他希望利用电脑来代替繁琐的手工计算,根据他的分析方法编制一个股市分析软件,辅助他个人进行股市中长期走势分析。
首先,他要求软件:
(1) 录入、编辑数据。因为软件用作中、长期分析,所以数据不必与股市同步,允许时间滞后一些。
(2) 绘股价走势图。
(3) 绘成交量分布图。
(4) 制股市行情表。
随后,将他的分析方法添加到软件中,像搭积木一样逐步完善。
分析他的要求,软件在上述开发中应具有以下功能需求:
(1) 数据录入、编辑界面。数据包括日期、开盘价、收盘价、成交量、最高价和最低价。
(2) 利用日期、开盘价、收盘价、最高价和最低价绘制股价的K线图。
(3) 利用日期和成交量绘制条形图。
(4) 利用所有数据制作股市行情表。
此外,为了方便软件后续开发,软件还应该留有可扩充接口。
⒉ 选择开发环境
软件开发平台选择VC++.NET 2005,数据库服务器选择SQL Server 2000。
VC++升级到VC++.NET以后,两者最大的区别是它们依赖的框架不同,前者是MFC(Microsoft Foundation Classes),后者是.NET Framework。
.NET Framework比MFC庞大得多,不仅支持VC++.NET,还支持VB.NET、Visual C# 和Visual J#。同时,.NET Framework由于受公共语言运行库(Common Language Runtime,CLR)支持,为软件设计人员提供了托管应用程序开发环境。可以说,CLR是.NET Framework的最大亮点。尽管如此,微软仍然在.NET Framework中为非托管应用程序留有一席之地,MFC其中就占据一角。.NET Framework 环境如图2所示。

图2 .NET Framework 环境
使用CLR有许多好处,其中之一是可以在应用程序中使用Windows窗体,这为设计应用程序用户界面提供了很大的方便。因此,实例程序将选择CLR类型的Windows窗体应用程序作为项目模板。
3.程序构成
(1)程序有一个主窗体,这是用户进入系统的第一个界面,也是连接其他窗体的起点。
(2)对应其他功能,还应有其他的窗体。
1)数据录入、编辑使用一个窗体。
2)股价的K线图和成交量的条形图是配合使用的,通常分别绘在一个图的上下位置,所以用一个窗体就可以了。
3)股市行情表本来一个窗体也可以了,但是作为演练,可以将单页报表和分页报表分开设计,这样讲解会更清楚一些。因此股市行情表可以规划为两个窗体。
此外,在主窗体上,还要加上菜单。考虑到软件可扩充,可以安排三个菜单项:数据、技术分析和基本分析。在技术分析中,暂时添加绘图和制表两个菜单命令,在制表菜单命令下添加两个子菜单:单页报表和分页报表。
|