Buenas tardes a tod@s:
Tengo definido un campo en una tabla en la que guardo tiempo
en formato de horas con un campo TIME que admite horas desde
-838:59:59 a 839:59:59 según la documentación,
En dicho campo tengo que ir guardando ciertos periodos de tiempo que tardan una serie de procesos y luego sumarlo a lo que ya hay en dicho campo definido.Dicho proceso de guardado lo hago de la siguiente forma:
Update dblicempresa set Reg_uso = ADDTIME(Reg_uso , tDiferencia)
Donde:
El problema es que al ejecutar dicha orden desde mi aplicación da el siguiente error:
Update dblicempresa set Reg_uso = ADDTIME(Reg_uso,TIME(' [ 2]
= Type: T Val: t"2023-07-05 00:00:07"
Se supone que si uso SEC_TO_TIME() me lo deja en "00:00:07" pero no es así desde la aplicación.
Si ejecuto esas ordenes en HeidiSql funciona sin problemas
pero... por que tDiferencia la ponga para las pruebas por ejemplo
"00:00:10" no tiene asignada la fecha.
¿Alguna idea/sugerencia de como poder realizar ese cálculo y que sea sumado al tiempo ya existente?
Un saludo.
Buenas tardes David:
Con tu respuesta tengo un error "importante", como comenté son datos tomados de dos bases de datos con dos conexiones diferentes:
Con lo cual lo primero sería cambiar la conexión a tu solución: oConnReg:Execute(" Update dblicempresa set Reg_uso = ADDTIME(Reg_uso , Select TIMEDIFF(CurTime(),Cont_Horaact) from dbcontrol)")
Con eso me devuelve un error totalmente lógico que es que dbcontrol no existe ya que dicha tabla está en otra conexión. En la aplicación en ese punto hay dos conexiones diferentes a dos bases de datos alojadas en dos servidores diferentes(en el futuro puede que estén en el mismo servidor pero seguirían s¡endo dos bases de datos separadas.
Un saludo.
Buenas noches David:
Con que funcionaba correcto en Heidi... me refería a la suma de las horas ya que la prueba la hacia sumando "00:00:07" a la hora guardada... eso así si funciona y respeta lo que permite TIME en MySql. Lo que no funciona es con la instrucción descrita o con la que me has proporcionado, en ese caso por tomar datos de dos bases de datos diferentes las cuales están alojada sen servidores diferentes.
Si lo guardo en variables da el error al guardar el acumulado
ya que no me respeta la configuración de TIME y toma como horas...
las 24 horas naturales de un dia en vez de los posibles 838
posibles horas.
Un saludo.
--
Has recibido este mensaje porque estás suscrito al grupo "ADO Harbour" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a ado-harbour...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/ado-harbour/17ad2da2-908d-45f1-841e-94cfeb98a186n%40googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/ado-harbour/e8ac5bd7-6492-9ca7-cd63-f36685aeebe8%40gmail.com.