知识大全 ADO.NET入门(4)

Posted

篇首语:从来好事天生俭,自古瓜儿苦后甜。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ADO.NET入门(4)相关的知识,希望对你有一定的参考价值。

ADO.NET入门(4)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   转换现有代码

    

  大量的ASP页面使用ADO对象来抽取数据 让我们一起来回顾下几例典型的案例 对你在以后处理移植或者改写代码时也许会有帮助

    

  如果你有从单个recordset生成报表的ASP页面 那么DataReader会是你的好帮手

    

  String strConn strCmd;

  strConn = DATABASE=MyAgenda;SERVER=localhost;UID=sa;PWD=; ;

  strCmd = Select * From Names where ID= + contactID Text;

  SQLConnection oCN = new SQLConnection(strConn);

  SQLCommand oCMD = new SQLCommand(strCmd oCN);

  oCN Open();

  SQLDataReader dr;

  oCMD Execute(out dr);

  while (dr Read())

  // Use dr GetString(index) or

  // dr[ field name ] to Response Write data

  

    

  你可以利用HasMoreRows属性来快速检查是否DataReader为空 如果你仅仅只简单处理一系列记录 没有什么比DataReader 更快 更好的对象了 它同样适用于查询单个记录

    

  DataReader 的内容是不可编辑的 但你可以将内容移动到更具管理功能的对象里 如

    

  DataTable或是一个或多个DataRow 对象

    

  当你需要处理表与记录二者之间的复杂关系时 DataReader就不是合适的工具了 数据模型链接越多 SQL命令则会越复杂 导航模块保有连续性 最后放入缓存的数据往往多于你所需要的 DataSet 和 DataRelation objects是这种表关系模型的基础

    

  为管理parent/child 关系 ADO同样也对data shaping engine进行封装 总的说来 data shaping 和 ADO NET 关系是一回事 就设计方面来说 二者几乎没有共同点 Shaped recordsetsct嵌入列表对象中包括了所有数据表信息 ADO NET关系是动态链接 你可以在两个数据表间随时建立 ADO依靠于Shaping OLE DB service 提供程序 并使用专门的SQL类语言特征以在执行单个ADO命令的过程中生成一个分层的recordset

  

    

  在 ADO NET 中 关系中涉及的每个对象总是被看成单独的个体 关系本身作为对象被公开 并且具有一定的行为规则 例如 DataRelation 对象可以从父行到子行一层层进行更改 您可以通过将 ForeignKeyConstraint 对象添加到 DataTable 的 Constraints 集合中来进行此操作 ForeignKeyConstraint 对象表示当删除或更新数值和行时 对通过外键关系相关联的一组列的约束 如前面提到的 一旦设置好了关系 在它按程序预设终止之前 您不能进行可能破坏该关系的更改

    

  正如早先提到的一样 一旦设置了relationship 除非它是程序性的终止 你不能够对它进行修改 那样会使它突然中断

    

  另外 relations没有递延性 你可以在Customers 和Orders之间 Orders 和 Products之间设置两个不同的关系 但是 当为了某个customer而对orders导航时 你不能够从一个order跳到相关的products行 解决方法是 你必须另外打开Orders/Products 关系 锁定你需要的order 然后获取相关的行

    

cha138/Article/program/net/201311/13401

相关参考

知识大全 掌握ADO.NET的十个热门技巧[4]

掌握ADO.NET的十个热门技巧[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   对于Wi

知识大全 ADO.NET访问Oracle 9i存储过程(上)[4]

ADO.NET访问Oracle9i存储过程(上)[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 ADO.NET Entity Framework 试水——并发[4]

ADO.NETEntityFramework试水——并发[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来

知识大全 ADO.NET在开发中的部分使用方法和技巧[4]

总结:ADO.NET在开发中的部分使用方法和技巧[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 详解ADO.NET Entity Framework 4中枚举的使用

详解ADO.NETEntityFramework4中枚举的使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来

知识大全 ADO.NET和ADO的比较

ADO.NET和ADO的比较  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 处理ADO与ADO.NET对比介绍

处理ADO与ADO.NET对比介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ADONET统

知识大全 在 ADO 和 ADO.NET 中管理离线数据

在ADO和ADO.NET中管理离线数据  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  您可以使用

知识大全 ADO.Net与ADO在数据内存中的差异讨论

ADO.Net与ADO在数据内存中的差异讨论  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  数据

知识大全 Asp.Net中创建和使用Ado.net

Asp.Net中创建和使用Ado.net  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!