Contar los registros de un RecordSet usando GetRows
En el siguiente script usaremos el método GetRows del objeto RecordSet. Con este método podesmo
crear un array de 2 dimensiones obteniendo una matriz. La cantidad de filas de la supuesta matriz, será el numero
de registros que contiene el recordset que transformamos. Y la cantidad de columnas contiene la cantidad de campos.
No se si quedo claro, pero si miran el código tal vez les ayude a entender más (o menos). No es algo muy descriptivo,
pero es lo que tenemos.
El código para contar los regitros de un RecordSet y la cantidad de campos usando GetRows es el siguiente.
<%
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Provider = "Microsoft.Jet.OLEDB.4.0"
oConn.Open (Server.Mappath("base.mdb"))
Set RS = Server.CreateObject("ADODB.recordset")
sql = "SELECT * FROM tabla"
RS.Open sql, oConn
'sacamos el RecordSet a una matriz usando GetRows
matriz_registros = rs.getrows
RS.Close
Set RS = Nothing
oConn.Close
Set oConn = Nothing
'Buscamos los máximos de cada dimension
'y sumamos uno porque las matrices empiezan en 0
cant_campos = UBound(matriz_registros,1) + 1
cant_registros = UBound(matriz_registros,2) + 1
Response.write "Cantidad de Campos: "& cant_campos
Response.Write "<BR>"
Response.write "Cantidad de Registros: "& cant_registros
%>
|
Con la funcion UBound() buscamos el máximo elemento de cade una de las dimensiones.
Espero se haya entendido. Si desean, pueden hacer sus preguntas en el foro.
|