大致说明ADODataset的结构进行学习切磋
创始人
2024-06-19 03:41:35
0

ADO DataSet的结构允许基于查询返回的结果创建Recordset。数据访问引擎会检查结果集中的数据列,并根据该信息填充Recordset对象的Fields集合,设置名称、数据类型等。下面进行相关说明。

可以使用少数代码行,让ADO.NET自动检查结果的结构;也可以使用较多代码,其中包含了有关查询结果结构的元数据。
那么为什么要选择需要编写较多代码的选项呢?最主要的优点就在于其功能性更强、性能更佳。但是代码较多时又怎么会使应用程序的运行速度更快呢?这似乎有悖于人们的直觉感受,不是吗?

除非您正编写一个专用查询工具,否则您通常事先就知道查询结果的结构形式。例如,大多数ADO DataSet的结构形式都与下例相似。Dim rs as Recordset'在此处声明其他变量…初始化变量并与数据库建立连接:

  1. rs.Open strSQL, cnDatabase, adOpenStatic, adLockOptimistic, adCmdText  
  2. Do While Not rs.EOF  
  3. List1.AddItem rs.Fields("UserName").Value  
  4. rs.MoveNext  
  5. Loop  

在此代码段中,编程人员知道该查询包含一个名为UserName的列。关键就在于一个开发人员通常都知道查询会返回哪些列,以及这些列使用何种数据类型。但是ADO并不能事先了解查询结果的形式。结果,ADO必须对OLE DB提供程序进行查询,提出诸如“查询的结果中有多少列?

”,“这些列中每一列的数据类型是什么?”,“这些数据来自何方?”和“该查询中所引用的每个表的主键字段是什么?”等问题。OLE DB提供程序可以回答这些问题中的一部分,但是很多时候它都必须回调数据库。#t#

为获取查询结果,并且将该数据存储在DataSet对象中,ADO DataSet的结构需要知道此类问题的答案。您可以自己提供这些信息,也可以强制ADO.NET从提供程序获取信息。当选择自己提供信息时,代码的运行速度就能加快,这是因为:与通过代码提供元数据相比,在运行时向提供程序询问此信息会使性能大幅降低。

尽管通过编写代码来准备ADO DataSet的结构可以提高应用程序的性能,但编写代码可能非常沉闷乏味。幸运的是,Visual Studio包含了设计时数据访问特性,这些特性为我们综合了两者***秀的性能。

例如,您可以创建一个基于查询、表名称或存储过程的DataSet对象,然后配置向导就会生成ADO.NET代码,来运行此查询,并支持将更新提交给数据库。在下面的章节中将会详细讨论许多此类Visual Studio特性。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...