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:
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: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
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:
Ahora procedermos a explicar en detalle lo nuevo de nuestro método Listar...tomemos un momento para respirar 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
