' Gambas class file
Private conexion As Connection
Private TablaContactos As Result
Public Sub Form_Open()
conexion = New Connection
conexion.Type = "sqlite3"
conexion.Host = "/home/dario/gambas/PruebaBaseDatos/"
conexion.Name = "base"
Try conexion.Open()
If Error Then
Message.Error("Error al conectar a la base de datos")
conexion = Null
Else
TablaContactos = conexion.Exec("Select * From contactos")
If TablaContactos.Available Then MostrarCampos
Endif
End
Public Sub MostrarCampos()
txtID.Text = TablaContactos["id"]
txtNombre.Text = TablaContactos["Nombre"]
txtApellido.Text = TablaContactos["Apellido"]
txtTelefono.Text = TablaContactos["Telefono"]
txtMail.Text = TablaContactos["Mail"]
txtNacimiento.Text = TablaContactos["FechaNacimiento"]
End
Public Sub btnPrimero_Click()
TablaContactos.MoveFirst()
MostrarCampos
End
Public Sub btnAnterior_Click()
TablaContactos.MovePrevious()
If Not TablaContactos.Available Then TablaContactos.MoveFirst()
MostrarCampos
End
Public Sub btnSiguiente_Click()
TablaContactos.MoveNext()
If Not TablaContactos.Available Then TablaContactos.MoveLast()
MostrarCampos
End
Public Sub btnUltimo_Click()
TablaContactos.MoveLast()
MostrarCampos
End
Public Sub Menu2_Click()
btnGuardar.Visible = True
btnCancelar.Visible = True
btnPrimero.Visible = False
btnAnterior.Visible = False
btnSiguiente.Visible = False
btnUltimo.Visible = False
txtID.Text = ""
txtNombre.Text = ""
txtApellido.Text = ""
txtTelefono.Text = ""
txtMail.Text = ""
txtNacimiento.Text = ""
End
Public Sub btnGuardar_Click()
Dim VarResult As Result
VarResult = conexion.Create("Contactos")
conexion.Exec("insert into contactos values(&1,&2,&3,&4,&5,&6)",
txtID.Text, txtNombre.text, txtApellido.Text, txtTelefono.Text, txtMail.text, txtNacimiento.text)
'VarResult = Conexion.Create("Contactos")
'VarResult["id"] = txtID.Text
'VarResult["Nombre"] = txtNombre.Text
'VarResult["Apellido"] = txtapellido.Text
'VarResult["FechaNacimiento"] = txtNacimiento.Text
'VarResult["Telefono"] = txtTelefono.Text
'VarResult["Mail"] = txtMail.Text
VarResult.Update
TablaContactos = Conexion.Exec("Select * from Contactos")
btnGuardar.Visible = False
btnCancelar.Visible = False
btnPrimero.Visible = True
btnAnterior.Visible = True
btnSiguiente.Visible = True
btnUltimo.Visible = True
End
Public Sub btnCancelar_Click()
btnGuardar.Visible = False
btnCancelar.Visible = False
btnPrimero.Visible = True
btnAnterior.Visible = True
btnSiguiente.Visible = True
btnUltimo.Visible = True
MostrarCampos
End
Public Sub Menu3_Click()
Dim VarResult As Result
'VarResult = Conexion.Edit("Contactos", "id=" & TablaContactos["id"])
'VarResult["id"] = txtID.text
'VarResult["Nombre"] = txtNombre.text
'VarResult["Apellido"] = txtapellido.text
'VarResult["FechaNacimiento"] = txtNacimiento.text
'VarResult["Telefono"] = txtTelefono.text
'VarResult["Mail"] = txtMail.text
'VarResult.Update
'TablaContactos = Conexion.Exec("Select * from Contactos")
conexion.Exec("update contactos set nombre ='" & txtNombre.Text & "' where id ='" & txtID.Text & "';")
End
Public Sub Menu5_Click()
Me.Close
End
Public Sub Form_Close()
If Message.Question("¿Desea salir del programa?", "Si", "No") = 2 Then
Stop Event
Else
Conexion.Close
End If
End
Public Sub Menu3_Click()
Dim texto As String
Dim idx As String
Dim alt As Result
alt = con.Exec("update contactos set nombre ='" & texto & "' where id ='" & idx & "';")
End
(30-12-2020, 10:00)dariodr escribió: Hola, te mando el tar.gz del proyecto.
VarResult = conexion.Exec("update contactos set nombre ='" & txtNombre.Text & "' where id ='" & txtID.Text & "';")
TablaContactos = Conexion.Exec("Select * from Contactos") ' Esto lo tenes que poner después de cada alteración de los registros.
Dim VarResult As Result
VarResult = conexion.Create("Contactos")
VarResult.Update
(31-12-2020, 06:30)dariodr escribió: Una consulta: en el botón Guardar (btnGuardar_Click()), se puede eliminar las lineas:Tene en cuenta que estas usando el evento Menu3_Click() para guardar y no btnGuardar_Click(), así que desde esta perspectiva podrías borrar todo btnGuardar_Click() ademas el botón esta oculto (btnGuardar.Visible = False).
Public Sub Menu3_Click()
Dim VarResult As Result
VarResult = conexion.Exec("update contactos set nombre ='" & txtNombre.Text & "' where id ='" & txtID.Text & "';")
TablaContactos = Conexion.Exec("Select * from Contactos")
End
VarResult = conexion.Create("Contactos")
conexion.Exec("insert into contactos values(&1,&2,&3,&4,&5,&6)",
txtID.Text, txtNombre.text, txtApellido.Text, txtTelefono.Text, txtMail.text, txtNacimiento.text)
(31-12-2020, 16:03)dariodr escribió: En la ultima parte (pag. 9) dice que se puede hacer con sentencias SQL estandar, (UPDATE, INSERT, DELETE) y queria hacerlo así