
基于.NET的Web程序设计
基于.NET的Web程序设计 1

访问数据库实现销售系统信息存储 NCS
访问数据库实现销售系统信息存储

应用ADO.NET访问数据库 口 ADO Microsoft ActiveX Data Object即ActiveX数 据对象。 通过ADO,应用程序能够通过任一OLE DB 提供者存取及处理数据库服务器的数据。使用 ADO能够方便地构建C/S或Neb接口的数据库 程序
3 应用ADO.NET访问数据库 ADO Microsoft ActiveX Data Object即ActiveX数 据对象。 通过ADO,应用程序能够通过任一OLE DB 提供者存取及处理数据库服务器的数据。使用 ADO能够方便地构建C/S或Web接口的数据库 程序。 3

ADO.NET ADO.NET是ADO的后续版本。 口 ADO.NET与ADO相比,有如下变化: 支持XML 提供结构化数据访问能力 数据模型得到改进
4 ADO.NET ADO.NET是ADO的后续版本。 ADO.NET与ADO相比,有如下变化: 支持XML 提供结构化数据访问能力 数据模型得到改进 4

ADO.NET的主要特性 互操作性 利用XML实现组件与层之间的数据传输,使 任何有能力阅读XML的组件都可以处理数据。 可维护性 利于分层设计程序,使程序更易于维护 ■ 可编程性 ADO.NET的数据模型完全类型化,在程序设 例如: If TotalQty>DataSet1.ProductInfo("BabyFood").QtyAvaliable
5 ADO.NET的主要特性 ◼ 互操作性 利用XML实现组件与层之间的数据传输,使 任何有能力阅读XML的组件都可以处理数据。 ◼ 可维护性 利于分层设计程序,使程序更易于维护 ◼ 可编程性 ADO.NET的数据模型完全类型化,在程序设 计中,开发人员可以像使用类一样声明、定义、 使用数据对象。 5

性能 较ADO得到了提高 可伸缩性 允许更多用户访问数据库
6 ◼ 性能 较ADO得到了提高 ◼ 可伸缩性 允许更多用户访问数据库 6

5.2.AD0.NFT与AD0的h上铰 应用程序 5.2.1 口 DAO对象 RDO对象 ADO对象 ▣ Jet ODBC OLEDB 本地数据库 远程数据库 7
7 5.2 ADO.NET与ADO的比较 5.2.1 Windows平台上数据访问的历史 DAO - Data Access Objects 主要用于访问本地数据库 RDO - Remote Data Objects 允许访问远程及本地数据库 ADO 支持本地和远程访问数据库,支持更多的数 据库(SQL Server, Oracle等)。 ADO.NET ADO的后续版本,功能和性能得到前所未有 的改善。 7 应用程序 DAO 对象 RDO 对象 ADO 对象 Jet ODBC OLEDB 本地数据库 远程数据库

回 内存中数据的表现形式 ·ADO使用Recordset,类似一个单独的表 ADO.NET使用DataSet对象,包括一个或多个表 ▣ 处理多表之间的关系 ·ADO只能通过SQL的JON查询来连接多表构成一张独立 的表格 ADO.NET提供DataRelation对象合并来自多个DataTable 对象的数据。 9
8 内存中数据的表现形式 ◼ ADO使用Recordset,类似一个单独的表 ◼ ADO.NET使用DataSet对象,包括一个或多个表 处理多表之间的关系 ◼ ADO只能通过SQL的JOIN查询来连接多表构成一张独立 的表格 ◼ ADO.NET提供DataRelation对象合并来自多个DataTable 对象的数据。 8

▣ 数据导航 ·ADO只能顺序扫描各行 山 ADO.NET允许非顺序访问数据表 口 断开连接的访问 ·通过DataSet,ADO.NET支持断开连接的访问。 ▣ 可编程性 ·ADO.NET的数据模型完全类型化。 9
9 数据导航 ◼ ADO只能顺序扫描各行 ◼ ADO.NET允许非顺序访问数据表 断开连接的访问 ◼ 通过DataSet,ADO.NET支持断开连接的访问。 可编程性 ◼ ADO.NET的数据模型完全类型化。 9

▣在层与组件之间共享 自 ADO使用COM组件传输数据,在各层之间需要进行数据 类型转换,这需要消耗系统资源。 ADO.NET使用XML传输数据,因此在各层之间进行数据 传输无需进行数据类型转换。 口通过防火墙传输数据 ·ADO由于使用COM组件传输数据,而COM组件可能会受 到防火墙阻隔 ADO.NET采用XML传输数据,因此不存在此问题 10
10 在层与组件之间共享 ◼ ADO使用COM组件传输数据,在各层之间需要进行数据 类型转换,这需要消耗系统资源。 ◼ ADO.NET使用XML传输数据,因此在各层之间进行数据 传输无需进行数据类型转换。 通过防火墙传输数据 ◼ ADO由于使用COM组件传输数据,而COM组件可能会受 到防火墙阻隔 ◼ ADO.NET采用XML传输数据,因此不存在此问题 10