Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

[SOLUCIONADO]  Update en dos tablas a todo o nada en Gambas
#1

Hola

Necesito actualizar dos tablas donde ambas tienen que ser datos válidos para actualizar o de lo contrario debe no existir la actualización.

¿Como se hace en Gambas y SQLite3 como DataBase?

Gracias.

Nota: Yo hasta ahora siempre uso:
GAMBAS
  1. ' Ejemplo de como lo hacia
  2. Dim sSQL AS String = "UPDATE miTabla SET Valor=" & sValor & " WHERE miTabla.ID=" & lblID.Text & ";" '(Debe dar error)
  3.  
  4. gConn.Exec(sSQL)
  5.  
  6.  
  7. ' Mi solución
  8. Dim sSQL AS String = "UPDATE miTabla SET Valor=" & sValor & " WHERE miTabla.ID=" & lblID.Text & ";" '(Debe dar error)
  9.  
  10. gConn.Begin()
  11. gConn.Exec(sSQL)
  12. gConn.Commit()
  13.  
  14. gConn.Rollback()


    ¡Gracias!
#2

Hola.

 No soy un experto, pero lo que haría sería validar los datos antes de actualizar la base de datos, es decir, que los datos que voy a volcar sean correctos y estén dentro de lo que se necesita. De esta forma es mucho mejor de controlar los posibles errores humanos, ya que darías información precisa del dato que es incorrecto, de la otra forma te encontrarás un error muy genérico que no sabrás a que es debido. Por poner un ejemplo chorra. Si pides la edad del usuario, comprobar que no sea un número negativo o que no sea un valor demasiado elevado, por ejemplo 100.

Un saludo.
[-] Los siguientes 1 usuarios dice gracias a guizans por este post:
  • Shordi
    ¡Gracias!
#3

Tanto guizans como Shordi tenéis toda la razón, pero y digo además que antes de cargar un Insert o un Update e incluso hacer Delete contra la base de datos, en fin, todo programador con algo de experiencia, "valida" los datos en una subrutina antes y eso ya lo hago yo, aunque parezca que no lo hago en ese código, ojo, sValor que he puesto, señores, esta validado, po, Dios.

Sinceramente el todo o nada es para caso extremos donde quieres que todo todo el código funcione e incluso previene cualquier excepción o falla del programador, por lo que gracias a Begin, Commit y Rollback se salva incluso podemos decir los muebles.

Pero gracias y buen apunte para cualquiera que se le haya pasado. Saludos.
[-] Los siguientes 1 usuarios dice gracias a gambafeliz por este post:
  • guizans
    ¡Gracias!


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)