科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件用ADO.NET处理层次数据

用ADO.NET处理层次数据

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

ADO.NET 为数据在内存中的操作和储存提供了一种新模式。因此,我们在处理层次数据时该换换脑了.....

作者:佚名 来源:天极网 2007年11月5日

关键字: ADO 处理 数据

  • 评论
  • 分享微博
  • 分享邮件
ADO.NET 为数据在内存中的操作和储存提供了一种新模式。因此,我们在处理层次数据时该换换脑了。本文将对其独到之处作一个简单的描述。

  读者要求:基本掌握 Visual C#.NET 、DataAdapter 和 DataSet 。

  环境

  [配置一]
  操作系统: Windows 2000 服务器
  计算机: Dell Inspiron 8000 笔记本
  內存: 512mb
  处理器: PIII 750 MHz
  工具: .NET SDK Beta 2
  数据库: SQL 服务器 2000 的 Pubs 数据库

  [配置二]
  操作系统: Windows XP Professional
  计算机:Network! 3000 笔记本
  內存:256mb
  处理器: PIII 850 MHz
  工具:.NET Final
  数据库:MSDE 的 Pubs 数据库

  简单的数据检索

  我们首先要做的是通过 SQLAdapter 向数据库提交两个查询语句。

  本例中,SQLAdapter 使用由两个 select 语句组成的 SQL 命令分别向 Pubs 数据库中的两个 table 发出查询请求:

  string sSQL = "SELECT Pub_Id, Title, Price FROM; SELECT Pub_ID, Pub_Name FROM Publishers"

  在 fill 模式下, SQLAdapter 将在查询命令前插入 sp_executesql ,再以 RPC 的形式一并提交给数据库:

Exec sp_executesql
N'SELECT Pub_Id, Title, Price FROM Titles; SELECT Pub_ID, Pub_Name FROM Publishers'

  数据库也通过 RPC 返回两个 rowset。在 Dataset 中,rowset 与基本表是一一对应的。不幸的是,在 fill 模式下无法对这些基本表命名。相反,它为所有基本表提供一个共同的基本名。事实上,基本名就是第一个基本表的名字。随后的基本表命名都是在基本名后面加上一个不同的数字以互相区别,例如:Titles ,Titles1等。但是,通过简单的属性设置就能给所有基本表命名了:

daTest.Fill(dsTest, "Titles")
dsTest.Tables[1].TableName = "Publishers"

  这种显式命名有助于基本表的处理和引用。
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章