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

网络编程 2025-03-13 20:05www.168986.cn编程入门

在ASP编程中,我们常常需要操作数据库并获取数据。当我们使用`Set ors=oConn.Execute()`来执行SQL查询并创建`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")

' 执行SQL查询

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

' 输出原始的RecordCount值,可能会显示为-1

Response.Write "原始的记录数:" & ors.RecordCount & "
"

' 使用GetRows方法获取数据

aRows = oRs.GetRows(-1) '此处oRs应为ors的笔误,应为ors

' 设置ors为没有更多记录的状态

ors.Eof = True

' 输出通过GetRows方法得到的记录数

If IsArray(aRows) Then

Response.Write "实际的记录数:" & UBound(aRows, 2) + 1 & "
"

For i = 0 To UBound(aRows, 2)

For j = 0 To UBound(aRows, 1)

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

Next j

Response.Write "
" '换行输出每条记录的数据

Next i

End If

' 关闭数据库连接并清理资源

Set ors = Nothing

oConn.Close()

Set oConn = Nothing

%>

```

以上代码首先创建了一个数据库连接对象并打开了数据库连接。然后执行了一个SQL查询并获取了查询结果集。由于有时`RecordCount`属性可能返回-1,我们通过`GetRows`方法来获取实际的数据记录。接着循环遍历这些记录并以逗号分隔每个字段进行输出。最后关闭数据库连接并释放资源。这样我们就能清晰地看到数据库查询结果并获取实际的记录数。

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by