大家可能经常会遇到这种情况:
- 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。
分享到:
相关推荐
假设我们有一个包含学生信息的数据库表`Students`,其中有字段`ID`、`Name`、`Age`等,下面是一个使用`rs.getrows`方法获取前10条记录的例子: ```vb Dim conn, rs, rsArray Set conn = Server.CreateObject("ADODB...
一、GetRows的使用方法:<%Set conn=Server.CreateObject(“Adodb.Connection”)conn.Open “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” & Server.Mappath(“test.mdb”)Set Rs=Server....
`CancelBatch`取消批量更新,`CancelUpdate`撤销当前记录的更改,`Clone`复制RecordSet,`Delete`删除当前记录,`Move`系列方法用于移动指针,`Open`打开RecordSet,`Update`保存更改,而`GetRows`将记录集中的多行...
在ASP中,GETROWS函数通常与ADODB.Recordset对象一起使用,用于将记录集中的数据转换为二维数组,方便进一步处理。这篇文档“ASP技术常遇问题解答-能说明一下GETROWS的用法吗?”很可能详细介绍了GETROWS函数的用法...
- `rs.MoveFirst`, `rs.MoveLast`, `rs.MovePrev`, `rs.MoveNext`:这些方法用于在记录集中移动指针。 - `rs.GetRows`:将数据批量提取到一个二维数组中。 - `rs.Properties.Count`, `rs.Properties(item).Name`, `...
如果没有记录被检索到,或者请求的记录数超出了Recordset中实际存在的记录数,GetRows方法只会返回可用的记录数。 使用GetRows方法时需注意,数组中的第一个下标标识字段,第二个下标标识记录号。调用GetRows方法后...
chartData = "{labels: ['" & Join(rs.GetRows()(0), "','") & "'], datasets: [{label: 'Sales', data: [" & Join(rs.GetRows()(1), ",") & "]}]}" Response.Write "<script>var ctx = document.getElementById('...
在页面加载时,需要根据总记录数和每页显示的记录数计算出总页数,并创建对应的链接。当用户点击分页链接时,再次触发AJAX请求,加载新的数据。 总结起来,"asp静态分页的AJAX实现"是一个利用ASP处理服务器端逻辑,...
在IT行业中,Asp(Active Server Pages)是一种经典的服务器端脚本技术,常用于构建动态网页。配合SQL数据库,Asp可以实现数据的交互和管理。在这个“Asp+SQL导出导入”的主题中,我们将深入探讨如何使用Asp与SQL ...
在ASP(Active Server Pages)开发中,生成统计折线图是一项常见的需求,它可以帮助我们以图形化的方式展示从数据库中获取的数据,使分析和理解变得更加直观。本文将深入探讨如何利用ASP来读取数据库中的数据并生成...
在ASP中,我们通常使用ADO(ActiveX Data Objects)来执行SQL查询并获取结果集。 要将SQL查询结果导出为Excel文件,我们需要以下步骤: 1. 连接数据库:在ASP中,我们使用ADODB.Connection对象建立到SQL数据库的...
response.Write Json_encode(rs.GetRows()) Else response.ContentType = "text/plain" response.Write "No data found." End If rs.Close conn.Close Set rs = Nothing Set conn = Nothing %> ``` 在这个例子中...
jsonSerializer.Text = ConvertToJSON(rs.GetRows) %> function sendSlidesToFlash(slides) { document.getElementById("flashMovie").receiveSlides(slides); } sendSlidesToFlash(<%= jsonSerializer.Text %>)...
response.Write "{""suggestions"":[" & Join(rs.GetRows(), ",") & "]}" Set rs = Nothing Set Conn = Nothing ``` 以上就是一个基本的ASP与AJAX交互的框架。实际应用中,还需要考虑错误处理、安全问题(如防止...
' 使用GetRows方法直接获取记录数组 FetchEmploymentStatusList = rs.GetRows() rs.Close Set rs = Nothing End Function ``` #### 4. Application与Session对象与ADO的协同工作 在实际应用中,Application...
data = "{""rows"":[" & Join(rs.GetRows(), ",") & "]}" rs.Close conn.Close Set rs = Nothing Set conn = Nothing Response.Write data ' 返回数据 %> ``` 在这个ASP脚本中,我们创建了一个ADODB连接对象,...
Response.Write rs.GetRows() ' 将结果转换为JSON或其他格式并返回 End If rs.Close Set rs = Nothing conn.Close Set conn = Nothing %> ``` 4. **在JavaScript中处理返回的数据**:当ASP返回数据后,JavaScript...
本文旨在探讨并对比三种不同的方法——普通查询、使用存储过程以及使用GetRows()方法——来从数据库中抽取大量数据时的性能表现。具体而言,我们将通过测试这些方法在处理10万条数据时的执行效率来进行比较分析。 #...