Mensajes: 466
Temas: 111
Gracias Recibidas: 17 en 16 posts
Gracias Dadas: 101
Registro en: Jul 2020
20-04-2022, 11:36
(Última modificación: 20-04-2022, 14:18 por
gambafeliz.)
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
' Ejemplo de como lo hacia
Dim sSQL
AS String = "UPDATE miTabla SET Valor=" & sValor
& " WHERE miTabla.ID=" & lblID.
Text & ";" '(Debe dar error)
' Mi solución
Dim sSQL
AS String = "UPDATE miTabla SET Valor=" & sValor
& " WHERE miTabla.ID=" & lblID.
Text & ";" '(Debe dar error)
gConn.Begin()
gConn.Commit()
gConn.Rollback()
Mensajes: 149
Temas: 24
Gracias Recibidas: 27 en 24 posts
Gracias Dadas: 69
Registro en: Jul 2020
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:1 usuarios dice Gracias! a guizans por este post
• Shordi
Mensajes: 466
Temas: 111
Gracias Recibidas: 17 en 16 posts
Gracias Dadas: 101
Registro en: Jul 2020
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.