ASP中Set ors=oConn.Execute()时获取记录数的方法

免费源码 2025-05-15 00:51www.dzhlxh.cn免费源码

在ASP环境中,当我们使用`Set ors=oConn.Execute()`创建`RecordSet`对象后,有时会遇到通过`RecordSet.RecordCount`获取的记录数显示为-1的情况。这时,不妨试试使用`GetRows`方法来获取准确的记录数。

代码示例如下:

```asp

<%

Dim oConn, ors, aRows

Dim i, j

Set oConn = Server.CreateObject("ADODB.Connection")

oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("database/newasp.resx")

Set ors = oConn.Execute("Select TOP 5 SoftID, SoftName FROM NC_SoftList")

'此时通过ors.RecordCount获取的记录数可能为-1

Response.Write "尝试通过RecordCount获取记录数:" & ors.RecordCount & "
"

aRows = oRs.GetRows(-1) '使用GetRows获取所有记录,存入数组aRows中

If Not oRs.Eof Then

Response.Write "通过GetRows获取的记录数为:" & UBound(aRows, 2) + 1 & "
"

End If

For i = 0 To UBound(aRows, 2)

For j = 0 To UBound(aRows, 1)

Response.Write aRows(j, i) & ","

Next

Response.Write "
"

Next

Set ors = Nothing

oConn.Close()

Set oConn = Nothing

%>

```

在上述代码中,我们首先尝试使用`ors.RecordCount`获取记录数,但当它返回-1时,我们通过`GetRows`方法来获取所有记录并存入数组`aRows`中。接着,我们检查数组`aRows`是否为数组(即确认是否成功获取了记录),并通过`UBound`函数获取数组中的记录数。然后,我们遍历数组并输出每条记录的内容。通过这种方式,我们可以确保获取到准确的记录数并输出所有记录的内容。

Copyright © 2016-2025 www.dzhlxh.cn 金源码 版权所有 Power by

网站模板下载|网络推广|微博营销|seo优化|视频营销|网络营销|微信营销|网站建设|织梦模板|小程序模板