Hola chicos, perdon por la espera -si es que alguien estaba esperando- he estado bien ocupado con otros menesteres que me habían impedido continuar con nuestro módulo de usuarios, afortunadamente ya estamos de vuelta, así que recapitulemos:
En las sesiones anteriores escribimos los métodos para autentificar y recuperar los datos de nuestros usuarios dando un id, también agregamos la lógica necesaria a nuestro formulario para autentificar usuarios, y nos quedamos en la creación de la interfaz una vez que nuestros usuarios se "loguearon" correctamente.
Bien, ahora vamos a crear un método que nos regresara un arreglo o como set de datos a través del método getRows, el cuál usaremos para listar a nuestros usuarios, así que sin más, abrimos nuestro archivo lib/usuario.asp y codifiquemos nuestro método Listar:
Código:
Public function Listar(intPagina, intTamanoPagina, strOrdenar)
Dim ObjConn
Dim rs
Dim cmd
Dim param
Dim ds
Dim qry
Set ObjConn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
Set cmd = Server.CreateObject("ADODB.Command")
qry = "SELECT a.usuario_id, a.usuario_apellido + ', ' + a.usuario_nombre as usuario_nombre_completo, " & _
"a.usuario_activo, " & _
"a.usuario_fecha_edicion FROM tbl_usuario a "
if len(strOrdernar) > 0 then
qry = qry & " ORDER BY " & strOrdenar
else
qry = qry & " ORDER BY a.usuario_apellido "
end if
ObjConn.Open strConnect
cmd.ActiveConnection = ObjConn
cmd.CommandType = adCmdText
cmd.CommandText = qry
rs.CursorType = adOpenStatic
rs.LockType = adLockReadOnly
rs.Open cmd
m_registros_totales = rs.RecordCount
if rs.RecordCount > intTamanoPagina then
rs.PageSize = intTamanoPagina
rs.AbsolutePage = intPagina
m_paginas_totales = rs.PageCount
else
m_paginas_totales = 1
end if
if not rs.EOF then
ds = rs.GetRows(intTamanoPagina, 0)
else
ds = null
end if
ObjConn.Close()
Set rs = Nothing
Set ObjConn = Nothing
Set param = Nothing
Set cmd = Nothing
Listar = ds
End function
Casi nada nuevo, para comenzar agregaremos a nuestra clase las propiedades en negritas, que determinan el número de registros y el número de páginas, esto lo usaremos para paginar nuestro "resultset", a continuación las adiciones:
Código:
private m_registros_totales
private m_paginas_totales
Código:
public property get registros_totales()
registros_totales = m_registros_totales
end property
public property let registros_totales(p_data)
m_registros_totales = p_data
end property
public property get paginas_totales()
paginas_totales = m_paginas_totales
end property
public property let paginas_totales(p_data)
m_paginas_totales = p_data
end property
Código:
Private sub Class_Initialize
m_id = -1
m_uname = ""
m_pwd = ""
m_nombre = ""
m_apellido = ""
m_activo = false
m_fecha_edicion = Cdate("1/1/1800")
m_paginas_totales = 0
m_registros_totales = 0
End sub
Ahora procedermos a explicar en detalle lo nuevo de nuestro método Listar...tomemos un momento para respirar