GetRows() en ASP Classic

by | Abr 18, 2019

Recorset

dim Conn,query,RS

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open DBName
query = "SELECT nombre,email,telefono FROM usuarios"
Set RS = Conn.execute(query)

if not RS.EOF then
   do while not RS.EOF
      response.write("Nombre: " & RS("nombre").value & "")
      response.write("Email: " & RS("email").value & "")
      response.write("Telefono: " & RS("telefono").value & "")
      RS.movenext
   loop
end if

RS.Close
Conn.Close
Set Conn = nothing

Hacer un bucle a través de un RecordSet es costoso en términos de recursos del servidor a nivel de la base de datos y el servidor Web, entonces, el mejor consejo es utilizar GetRows() para obtener datos del motor de base de datos. La mayoría de las personas usa ADO Recordset y lo recorre. Esto significa que tiene una conexión con el SQL Server abierto mientras ejecuta la secuencia de comandos. La utilización sería como se muestra a continuación:

dim reg,reg_eof,record,Conn,query,RS

const reg_nombre = 0
const reg_email = 1
const reg_telefono = 2
reg_eof = true

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open DBName
query = "SELECT nombre,email,telefono FROM usuarios"
Set RS = Conn.execute(query)
if not RS.EOF then
   reg = RS.getrows()
   reg_eof = false
end if
RS.Close
Conn.Close
Set Conn = nothing

if not reg_eof then
   for record=0 to UBound(reg,2)
      response.write("Nombre: " & reg(reg_nombre,record) & "")
      response.write("Email: " & reg(reg_email,record) & "")
      response.write("Telefono: " & reg(reg_telefono,record) & "")
   next
end if