大家应该都知道 Recordset 有个 GetRows 属性,但是真正使用的不多,其实这个属性很简单,就是把数据集输出到一个数组中。但是实用性可不小,在这里我举一个例子说明一下GetRows的使用方法,大家举一反三能想到更多的用法!
比如一个分类的表 T_Cate,结构和数据如下:
ID | Title | Intro
-----------------------------------------
1 | 新闻 | 这里是新闻
2 | 教程 | 这里是教程
3 | 下载 | 这里是下载
好了,表建立好了,数据也有了,下面我们就要用到GetRows咯!
CODE: |
|
Dim Rs_Cate Dim Arr_Cate Set Rs_Cate=Conn.ExeCute("SELECT ID,Title,Intro FROM T_Cate ORDER BY ID ASC") Arr_Cate=Rs_Cate.GetRows Set Rs_Cate=Nothing | |
好了表数据已经导出到数组了!下面我们将遍历这个数组
呵呵,好了,输出的数据为:
ID:1 | 标题:新闻 | 介绍:这里是新闻
ID:2 | 标题:教程 | 介绍:这里是教程
ID:3 | 标题:下载 | 介绍:这里是下载
CODE: |
|
Dim Arr_CateNumS,Arr_CateNumI Arr_CateNumS=Ubound(Arr_Cate,2) '得到数组中数据的下标 For Arr_CateNumI=0 To Arr_CateNumS Response.Write("ID:"&Arr_Cate(0,Arr_CateNumI)&" | 标题:"&Arr_Cate(1,Arr_CateNumI)&" | 介绍:"&Arr_Cate(2,Arr_CateNumI)&"<br>") Next | |
GetRows 方法
将 Recordset 对象的多个记录恢复到数组中。
语法
array = recordset.GetRows( Rows, Start, Fields )
返回值
返回二维数组。
参数
Rows 可选,长整型表达式,指定要检索记录数。默认值为 adGetRowsRest (-1)。
Start 可选,字符串或长整型,计算得到在 GetRows 操作开始处的记录的书签。也可使用下列 BookmarkEnum 值。
常量 |
说明 |
AdBookmarkCurrent |
从当前记录开始。 |
AdBookmarkFirst |
从首记录开始。 |
AdBookmarkLast |
从尾记录开始。 |
Fields 可选,变体型,代表单个字段名、顺序位置、字段名数组或顺序位置号。ADO 仅返回这些字段中的数据。
说明
使用 GetRows 方法可将记录从 Recordset 复制到二维数组中。第一个下标标识字段,第二个则标识记录号。当 GetRows 方法返回数据时数组变量将自动调整到正确大小。
如果不指定 Rows 参数的值,GetRows 方法将自动检索 Recordset 对象中的所有记录。如果请求的记录比可用记录多,则 GetRows 仅返回可用记录数。
如果 Recordset 对象支持书签,则可以通过传送该记录的 Bookmark属性值,来指定 GetRows 方法将从哪个记录开始检索数据。
如要限制 GetRows 调用返回的字段,则可以在 Fields 参数中传送单个字段名/编号或者字段名/编号数组。
在调用 GetRows 后,下一个未读取的记录成为当前记录,或者如果没有更多的记录,则 EOF 属性设置为 True。