分享

通俗易懂的,Recordset.GetRows的用法讲解

 阳光遍地xyz 2021-03-04

Recordset 有个 GetRows 方法,其实这个方法很简单,就是把数据集输出到一个数组中。
但是实用性可不小,在这里举一个例子说明一下GetRows的使用方法。
比如一个分类的表 DataTable,结构和数据如下:

ID | Title | Intro
-----------------------------------------
1 | 新闻 | 这里是新闻
2 | 教程 | 这里是教程
3 | 下载 | 这里是下载


好了,表建立好了,数据也有了,下面我们就要用到GetRows咯!

  1. Dim Rs

  2. Dim Ar

  3. Set Rs=Conn.ExeCute("select ID,Title,Intro FROM DataTable ORDER BY ID ASC")

  4.       Ar=Rs.GetRows

  5. Set Rs=Nothing

复制代码


表数据就导出到数组了。
下面我们将遍历这个数组

  1. Dim RowMax,Row

  2. RowMax=Ubound(Ar,2) '得到数组中数据的下标

  3. For Row=0 To RowMax

  4.       Debug.Print  "ID:" & Ar(0,Row) & " | 标题:" & Ar(1,Row) & " | 介绍:" & Ar(2,Row)

  5. Next

复制代码


最后输出的数据为:

ID:1 | 标题:新闻 | 介绍:这里是新闻
ID:2 | 标题:教程 | 介绍:这里是教程
ID:3 | 标题:下载 | 介绍:这里是下载
附:
GetRows 方法
将 Recordset 对象的多个记录复制到数组中。

语法:array = recordset.GetRows( Rows, Start, Fields )
返回:二维数组。

参数
Rows 可选,长整型表达式,指定要检索记录数。默认值为 adGetRowsRest (-1)。
Start 可选,字符串或长整型,计算得到在 GetRows 操作开始处的记录的书签。也可使用下列 BookmarkEnum 值。
常量 说明
AdBookmarkCurrent 从当前记录开始。
AdBookmarkFirst 从首记录开始。
AdBookmarkLast 从尾记录开始。

Fields 可选,变体型,代表单个字段名、顺序位置、字段名数组或顺序位置号。ADO 仅返回这些字段中的数据。

说明
1、使用 GetRows 方法可将记录从 Recordset 复制到二维数组中。第一个下标标识字段,第二个则标识记录号。当 GetRows 方法返回数据时数组变量将自动调整到正确大小。
2、如果不指定 Rows 参数的值,GetRows 方法将自动检索 Recordset 对象中的所有记录。如果请求的记录比可用记录多,则 GetRows 仅返回可用记录数。
3、如果 Recordset 对象支持书签,则可以通过传送该记录的 Bookmark 属性值,来指定 GetRows 方法将从哪个记录开始检索数据。
4、如要限制 GetRows 调用返回的字段,则可以在 Fields 参数中传送单个字段名/编号或者字段名/编号数组。
5、在调用 GetRows 后,下一个未读取的记录成为当前记录,或者如果没有更多的记录,则 EOF 属性设置为 True.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多