Prepare una clase muy rapida, con 3 miembros publicos y privados que es para un usuario, esta clase tambien tiene 2 metodos, una para agregar, la otra para obtener sus registros, obviamente se necesitaria trabajar con las validaciones, pero basicamente asi se deberia utilizar, si lo analizas y lo piensas, se podrian agregar metodos para editar, eliminar y muchas otras cosas mas, la ventaja es tener todo tu codigo encapsulado, y manejar un solo objeto usuario, mediante esta clase tu programacion en la parte de usuarios se vuelve modular, hay muchas cosas que se pueden decir, pero te la dejo para que tu mismo la analices y obtengas tus conclusiones, cualquier cosa por aca andamos.
Si yo en un futuro quisiera migrar esta aplicacion a .NET, esta clase seria como mi espacio de nombres.
Ahora que terminemos las FAQ's ya habia pensado en abundar lo mas que pueda en el tema.
Código:
Class usuario
Private m_id
Private m_nombre
Private m_apellido
Public Property Get id()
id = m_id
End Property
Public Property Let id(p_data)
m_id = p_data
End Property
Public Property Get nombre()
nombre = m_nombre
End Property
Public Property Let nombre(p_data)
m_nombre = p_data
End Property
Public Property Get apellido()
apellido = m_apellido
End Property
Public Property Let apellido(p_data)
m_apellido = p_data
End Property
Public Sub Agregar()
Dim ObjConn
Dim qry
Dim rs
ObjConn.Open strConnect
qry = "INSERT INTO usuarios(nombre, apellido) VALUES('"&m_nombre&"','"&m_apellido&"'); " & _
"SELECT @@IDENTITY as id"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open qry, ObjConn, 3, 3
if not rs.EOF then
m_id = rs("id")
end if
Set rs = Nothing
rs.Close
ObjConn.CLose
Set ObjConn = Nothing
End Sub
Public Function ObtenerRegitros(intID)
Dim ObjConn
Dim rs
Dim qry
Dim boolEncontrado
ObjConn.Open strConnect
Set rs = Server.createObject("ADODB.Recordset")
qry = "SELECT * FROM usuarios WHERE usuario_id = " & intID
rs.Open qry, ObjConn, 3, 3
if not rs.EOF then
boolEncontrado = true
m_id = rs("usuario_id")
m_nombre = rs("nombre")
m_apellido = rs("apellido")
Else
boolEncontrado = false
End if
rs.Close
Set rs = Nothing
ObjConn.Close
Set ObjConn = Nothing
ObtenerRegitros = boolEncontrado
End Function
End Class
'---------Archivo que inserta----------
nombre = request.Form("nombre")
apellido = request.Form("apellido")
Set ObjUsuario = New usuario
ObjUsuario.nombre = nombre
ObjUsuario.apellido = apellido
ObjUsuario.Agregar()
if ObjUsuario.ID <> "" then
'el usuario ha sido agregado
response.write "ID: " & ObjUsuario.ID
Else
'Algo fallo
End if
Set ObjUsuario = Nothing
'------------------------------------------
'-------Un archivo para recuperar sus registros-------
id = cint(request.form("id"))
Set ObjUsuario = new usuario
boolEncontrado = ObjUsuario.ObtenerRegistros(id)
if boolEncontrado then
Response.write ObjUsuario.ID & "<br>"
Response.write ObjUsuario.nombre & " " & Response.write ObjUsuario.apellido
else
'No se encontro el usuario
end if
Set ObjUsuario = Nothing
Salu2,