Hola horacio... Bases de datos y objetos

Hola me gustaría saber como se modelan las bases de datos, si van a almacenar objetos (ej: personas - estudios"puede tener varios")
Y como se hace para que los objetos accedan a esas bases... Va quiero decir, como se establece la relación de que una persona por ejemplo tenga distintos estudios...
Como se que mi pregunta es un poco difícil contestarla acá...
Tal vez vez tengas tiempo para hacerme un ejemplo sencillo con una base de datos y un pequeño proyecto...
Se que te estoy pidiendo mucho es que no entiendo como se puede guardar en una base de datos en access un objeto persona. Que tenga una colección de estudios...
Se me ocurrió pedirte este ejemplo pero tal vez ya tengas algún otro ya armado...
O alguna página donde pueda leer sobre el tema...
Desde ya muchas gracias y mil disculpas por pedir tanto...
Un saludo de Ezequiel
Desde Rosario Argentina
Te dejo mi email por si tienes algún proyecto... [email protected]

1 Respuesta

Respuesta
1
Te envío un ejemplo que tengo de una clase Cliente, te puede servir, el proyecto completo es muy grande y no te lo puedo pasar.
Para definir una instancia coloca este código en una clase
Llámale Cliente al archivo
Y desde un formulario puedes hacer esto
dim MiCliente as NEW Cliente
Private m_id_cliente As String
Private m_nombre As String
Private m_direccion As String
Private m_ciudad As String
Private m_cod_postal As String
Private m_telefono1 As String
Private m_telefono2 As String
Private m_fax As String
Private m_atencion As String
Private m_residente As String
Private m_obra As String
Private m_dir_obra As String
Public m_tel_obra As String
Private cmd As ADODB.Command
Private jro As jro.JetEngine
Public Property Get id_cliente() As String
id_cliente = m_id_cliente
End Property
Public Property Let id_cliente(valor As String)
m_id_cliente = IIf(IsNull(valor), "", valor)
End Property
Public Property Get nombre() As String
nombre = m_nombre
End Property
Public Property Let nombre(valor As String)
m_nombre = IIf(IsNull(valor), "", valor)
End Property
Public Property Get direccion() As String
direccion = m_direccion
End Property
Public Property Let direccion(valor As String)
m_direccion = IIf(IsNull(valor), "", valor)
End Property
Public Property Get ciudad() As String
ciudad = m_ciudad
End Property
Public Property Let ciudad(valor As String)
m_ciudad = IIf(IsNull(valor), "", valor)
End Property
Public Property Get cod_postal() As String
cod_postal = m_ciudad
End Property
Public Property Let cod_postal(valor As String)
m_cod_postal = IIf(IsNull(valor), "", valor)
End Property
Public Property Get telefono1() As String
telefono1 = m_telefono1
End Property
Public Property Let telefono1(valor As String)
m_telefono1 = IIf(IsNull(valor), "", valor)
End Property
Public Property Get telefono2() As String
telefono2 = m_telefono2
End Property
Public Property Let telefono2(valor As String)
m_telefono2 = IIf(IsNull(valor), "", valor)
End Property
Public Property Get fax() As String
fax = m_fax
End Property
Public Property Let fax(valor As String)
m_fax = IIf(IsNull(valor), "", valor)
End Property
Public Property Get atencion() As String
atencion = m_atencion
End Property
Public Property Let atencion(valor As String)
m_atencion = IIf(IsNull(valor), "", valor)
End Property
Public Property Get residente() As String
residente = m_residente
End Property
Public Property Let residente(valor As String)
m_residente = IIf(IsNull(valor), "", valor)
End Property
Public Property Get obra() As String
obra = m_obra
End Property
Public Property Let obra(valor As String)
m_obra = IIf(IsNull(valor), "", valor)
End Property
Public Property Get dir_obra() As String
dir_obra = m_dir_obra
End Property
Public Property Let dir_obra(valor As String)
m_dir_obra = IIf(IsNull(valor), "", valor)
End Property
Public Property Get tel_obra() As String
tel_obra = m_tel_obra
End Property
Public Property Let tel_obra(valor As String)
m_tel_obra = IIf(IsNull(valor), "", valor)
End Property
Public Sub Add()
On Error GoTo Add_Error
cmd.CommandText = "USP_INSERT_CLIENTE"
cmd.Execute , Array(Me.nombre, Me.direccion, Me.ciudad, Me.cod_postal, Me.telefono1, _
Me.telefono2, Me.fax, Me.atencion, Me.residente, Me.obra, Me.dir_obra, Me.tel_obra)
jro.RefreshCache g_cnn.Conneccion
GoTo Fin
Add_Error:
Select Case g_cnn.Conneccion.Errors.Item(0).NativeError
Case -541396598
MsgBox "El campo nombre no puede ser vacío", vbCritical
Case Else
MsgBox "Error: " & g_cnn.Conneccion.Errors.Item(0).NativeError & " : " & _
g_cnn.Conneccion.Errors.Item(0).Description, vbCritical
End Select
Fin:
End Sub
Public Sub Delete()
On Error GoTo Delete_Error
cmd.CommandText = "USP_DELETE_CLIENTE"
cmd.Execute , Array(Me.id_cliente)
jro.RefreshCache g_cnn.Conneccion
GoTo Fin
Delete_Error:
MsgBox "Error: " & g_cnn.Conneccion.Errors.Item(0).NativeError & " : " & _
g_cnn.Conneccion.Errors.Item(0).Description, vbCritical
Fin:
End Sub
Public Sub Update()
On Error GoTo Update_Error
cmd.CommandText = "USP_UPDATE_CLIENTE"
cmd.Execute , Array(Me.nombre, Me.direccion, Me.ciudad, Me.cod_postal, Me.telefono1, _
Me. Telefono2, Me. Fax, Me. Atencion, Me. Residente, Me.obra, Me.dir_obra, Me.tel_obra, Me.id_cliente)
jro.RefreshCache g_cnn.Conneccion
GoTo Fin
Update_Error:
MsgBox "Error: " & g_cnn.Conneccion.Errors.Item(0).NativeError & " : " & _
g_cnn.Conneccion.Errors.Item(0).Description, vbCritical
Fin:
End Sub
Private Sub Class_Initialize()
Set cmd = New ADODB.Command
cmd.ActiveConnection = g_cnn.Conneccion
cmd.CommandType = adCmdStoredProc
Set jro = New jro.JetEngine
End Sub
Private Sub Class_Terminate()
Set cmd = Nothing
Set jro = Nothing
End Sub
Te recomiendo cualquier libro que trate sobre objetos de VB 6.0, casi cualquiera de Microsoft Press.
Tembien lee sobre windows DNA y las capas de una apliacion.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas