![]() |
Update repetido el primero Funciona pero el segundo no
Hola amigo tengo una consulta tengo esta instrucion pegada a un boton
Cuando lo ejecuto por primera vez me funciona perfecto pero al ejecutarlo por segunda vez me da error, posiblemente hay algo que esto dejando abierto o cerrado o no lo se pero no me deja avanzar, |
Update fecha actual
hola amigo, quiero al momento de hace un update colocar tambien que me guarde DATETIME() NOW
quiero incorporarlo aqui en esta instrucion mi campo en la base de datos es de tipo TIMESTAMP yo se que la mejor forma de hacer es a travez de un tiger en la base de datos pero no supe hacerlo. Cabe destacar que ya tengo un campo de la base de datos de tipo timestamp la cual se guarda la fecha y hora al momento de crear un registro, pero quiero hacer uno tambien que guarde la fecha y la hora de las modificaciones. |
Deberías mencionar el texto del error, pero yo apostaría a que te dice que el SQL no está bien formado.
También supongo que para poder modificar el SQL deberías tener el ADOQuery Cerrado (haciendo ADOQueryUpdate.Close). |
Para que guarde la fecha de modificación lo mejor, como comentas, es hacerlo por trigger.
Suele ser sencillo. Por ejemplo, en Firebird sería algo así
Si lo quieres hacer en el update sería parecido:
A tener en cuenta: ¿Qué fecha deseas utilizar? La del servidor de base de datos o la del ordenador que ejecuta la aplicación. Puede ser que el ordenador esté en España y el servidor hospedado en Estados Unidos, con una diferencia horaria que necesitas tener en consideración. Si deseas la fecha del ordenador, deberás pasarla por parámetro:
|
Cita:
|
Cita:
|
Te estás complicando demasiado por querer ir rápido. Como te han recomendado te iría bien un repaso general sobre SQL y componentes Delphhi que manejan SQL.
Prueba cada sentencia SQL contra la BD que usas, consulta la ayuda de Delphi, la de la BD, busca en Google... Siempre es bueno parametrizar (o sea poner "=:") porque evita ciertos errores y problemas. Siempre que lo sepas PASA EL PARÁMETRO CON TIPO. Usar ".Value" solo para casos muy concretos en los que no puedas concretar, porque sino puedes tener problemas con los nulos, los blancos... y deberías especificar el tipo de parámetro lo que lo complica todo mucho más y resulta innecesario para lo que necesitas. ".AsString" si es string, varchar... ".AsInteger" si es integer... ".AsFloat" si es extended, double...
|
Es que va dando palos de ciego por todos lados, así no sirve porque, aunque consiguiera hacerlo funcionar, no sabría el porqué funcionó.
|
La franja horaria es GMT +2. Ahora son las 10:34:21. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi