rs.getrows的使用方法

来源:飞腾设计网 时间:2008-04-05 14:01:00 

大家可能经常会遇到这种情况:

sql="select * from table"
set rs=conn.execute(sql)

以上这两句执行完之后,如果使用response.write rs.recordcount,就会得到结果-1,但这个时候,记录集rs当中其实是有记录的。为了得到正确的记录总数,我们使用getrows.

sql="select * from table"
set rs=conn.execute (sql)
arrA=rs.getrows '将记录集放在一个二维数组中
response.write ubound(arrA,2)+1 '就会得到记录集的记录总数
response.write ubound(arrA,1)+1 '就会得到记录集的总列数

另外,还有一种获取记录总数的方法:

jls= conn.execute("Select count(*) From table").getstring

这时候,变量jls的值,便是记录总数了

GetRows 方法传回一个二维的阵列变数,每一行对应Recordset中的一笔记录,且每一列对应到记录中的栏位。此方法的语法如下:
varArray = rs.GetRows([Rows], [Start], [Fields])

Rows 是要读取记录的数量;如果想要取得Recordset所有记录,可用-1或省略此参数。Start 是指出第一个被读取记录的书签;也可以是下列列举常数中的一个:0-adBookmarkCurrent(目前记录)、1-adBookmarkFirst(第一笔记录)、或2-adBookmarkLast(最后记录)。

Fields 是可选择的栏位名称阵列,其用来限制要读取的资料量。(也可指定单一栏位名称、单一栏位索引、或者一个栏位索引阵列)。当设定 Rows 为少於Recordset记录笔数时,第一笔未读取的记录变成现行记录。若省略 Rows 参数或设定为-1-adGetRowsRest或大於未读取的笔数时,GetRows 方法会读取所有记录并让Recordset在EOF状态,而不会产生任何错误。

当处理目的变数阵列的资料时,应该记得资料储存方式是有点相反的感觉:阵列中第一维定义Recordset的栏位(资料行),第二维定义Recordset的资料列。以下有个载入Recordset内所有记录某三个栏位的范例:

Dim values As Variant, fldIndex As Integer, recIndex As Integer
values = rs.GetRows(, , Array("LastName", "FirstName", "BirthDate"))
For recIndex = 0 To UBound(values, 2)
For fldIndex = 0 To UBound(values)
Print values(fldIndex, recIndex),
Next
Print
Next

GetRows 方法通常比一次读一笔记录的回圈要来得快些,但使用这方法时,必须确定Recordset未包含太多记录;否则,会很容易以一个非常大的变数阵列来填满所有记忆体。基於相同的原因,得小心不要包括任何BLOB(Binary Large Object)或CLOB(Character Large Object)栏位;若如此做的化,应用程式一定会爆掉,特别是对於较大的Recordset而言。最后,记住此方法传回的变数阵列是以0为基底的;传回记录的笔数是UBound(values,2)+1,传回栏位数是UBound(value, 1)+1。

标签:rs,GetRows,sql,记录
0
投稿

猜你喜欢

  • 一种有创意的CSS命名规则

    2008-06-15 15:18:00
  • python np.arange 步长0.1的问题需要特别注意

    2021-09-26 08:49:49
  • Python实现计算两个时间之间相差天数的方法

    2022-11-09 06:04:59
  • python实现对变位词的判断方法

    2022-01-29 04:36:10
  • 详解Go语言设计模式之单例模式

    2024-03-26 13:53:37
  • 浅谈python中的面向对象和类的基本语法

    2023-06-27 11:36:45
  • JetBrains 学生认证教程(Pycharm,IDEA… 等学生认证教程)

    2022-06-16 08:20:04
  • python中的bisect模块与二分查找详情

    2021-07-23 05:17:56
  • Python中使用PIL库实现图片高斯模糊实例

    2023-12-09 14:12:20
  • 详细解读php的命名空间(一)

    2023-06-19 08:02:59
  • Go json反序列化“null“的问题解决

    2024-02-18 22:54:19
  • python实现微信远程控制电脑

    2023-07-07 07:43:43
  • 使用 createProcessingInstruction 方法不能输出 encoding 的解决方法

    2009-03-10 18:22:00
  • 举例讲解Django中数据模型访问外键值的方法

    2022-05-29 18:40:11
  • linux下mysql 5.7.16 免安装版本图文教程

    2024-01-18 06:22:56
  • MySQL InnoDB中的锁机制深入讲解

    2024-01-13 14:41:40
  • SQL Server密码管理的六个危险判断

    2008-10-23 13:57:00
  • pycharm 如何查看某一函数源码的快捷键

    2023-10-25 02:41:28
  • Python机器学习工具scikit-learn的使用笔记

    2021-08-30 10:28:50
  • Pandas实现DataFrame的简单运算、统计与排序

    2022-03-29 02:09:54
  • asp之家 网络编程 m.aspxhome.com