+ -
当前位置:首页 → 问答吧 → 高手帮忙看看这个 错在哪里啊 getrows

高手帮忙看看这个 错在哪里啊 getrows

时间:2011-12-13

来源:互联网

VB code

            dim sql,i
            dim rs:set rs=server.CreateObject("adodb.recordset")
            rs.open "select  id,tid from article  order by id desc",conn,1,1
             
                        sql=rs.getrows(-1)

            do while not rs.eof
              response.write "<tr>"
              for i=0 to ubound(sql,2) 
              response.write "<td align=center>" & pap.htmlcode(rs(sql(0,i))) & "</td>" 
              next 
              response.write "</tr>" 
              rs.movenext
            loop
            rs.close





就是返回不到数据 这个郁闷啊

作者: flyfeiyang   发布时间: 2011-12-13

是否有数据返回?
语句有错吗?

作者: dogfish   发布时间: 2011-12-13

就是返回不了数据啊 
郁闷 刚学 怀疑是 语句有错误了

作者: flyfeiyang   发布时间: 2011-12-13

检查一下链接是否成功。

作者: dogfish   发布时间: 2011-12-13

这么早~

作者: hllfl   发布时间: 2011-12-13

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。

至于你的问题,你可以引用第三个变量来表示有无纪录的状态。你用的是数组,给它付值为0,在有些编译环境下肯定要出错的。即使有些环境里可以这么用,也建议你有个好习惯,如果这样记下去,以后麻烦更多。

作者: hefeng_aspnet   发布时间: 2011-12-13

引用 5 楼 hefeng_aspnet 的回复:
GetRows 方法传回一个二维的阵列变数,每一行对应Recordset中的一笔记录,且每一列对应到记录中的栏位。此方法的语法如下:

varArray = rs.GetRows([Rows], [Start], [Fields])

Rows 是要读取记录的数量;如果想要取得Recordset所有记录,可用-1或省略此参数。Start 是指出第一个被读取记录的书签;也可以……
看看格式

作者: jacknes009   发布时间: 2011-12-13