Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Alta en registro de la fecha altual (https://www.clubdelphi.com/foros/showthread.php?t=27337)

perillan 17-11-2005 19:43:00

Alta en registro de la fecha altual
 
Necesito que cuando doy de alta un registro en una base de interbase quede grabada la fecha en un campo de la base de datos. Según lo tengo no da ningun error pero no queda grabado.
Alguien me pude dar alguna sugerencia.
Un saludo.


Codigo:

procedure TForm1........................
var
fecha:string;
begin
fecha:=DateToStr(now);
dmmain.IBDataSetBajasFECHADEBAJA.AsString:= fecha;
dmmain.IBTransBajas.COMMIT;

ContraVeneno 17-11-2005 19:56:08

en interbase, ¿se puede hacer esto?
Código Delphi [-]
  dmmain.IBDataSetBajasFECHADEBAJA.AsDateTime:= Now;

vtdeleon 17-11-2005 20:08:45

Saludos
Cita:

Empezado por ContraVeneno
en interbase, ¿se puede hacer esto?
Código Delphi [-]
  dmmain.IBDataSetBajasFECHADEBAJA.AsDateTime:= Now;

Si el campo es declarado Date es seguro que se puede.

perillan 17-11-2005 22:00:18

Pues ami sigue, sin grabarse el registro y sin dar ningún error igual que la que yo tenia.??

vtdeleon 17-11-2005 22:08:08

Saludos

No veo donde pones el dataset en modo de Insercion o edicion :-s

Héctor Randolph 17-11-2005 22:38:43

Cita:

Empezado por vtdeleon
No veo donde pones el dataset en modo de Insercion o edicion

Es verdad, tampoco veo que se aplique un Post sobre el DataSet.

Por otra parte, si lo que necesitas es guardar la fecha actual cada vez que insertas un registro, entonces te conviene más usar triggers

El trigger lo puedes activar como AFTER INSERT o BEFORE INSERT según sea el caso; en el cuerpo del trigger puedes recuperar la fecha actual con la variable 'NOW' definida en Interbase.

Es mejor que el servidor se encargue de este trabajo y así garantizas que cada vez que se tenga que agregar un registro se actualizará su fecha de inserción, de otra forma si el registro se inserta desde la consola o fuera de tu código no quedará nada registrado.

Un saludo.

perillan 18-11-2005 10:46:25

Si que tengo hecha la insercion, así es como esta completo
Un saludo
procedure TForm1.......
var
fecha,:string;
begin
dmmain.IBDataSetBajas.active:=TRUE;
dmmain.IBDataSetBajas.append;
fecha:=DateToStr(now);
dmmain.IBDataSetBajasFECHADEBAJA.AsString:= fecha;
dmmain.IBDataSetBajas.Post;
dmmain.IBTransBajas.COMMIT;
end;

fidel 18-11-2005 19:52:52

Hola:

Supongo que tendrás más código que esto, porque habrá más campos y lo has quitado al ponerlo aquí.

¿Donde pones la tabla en modo edit? porque parece que no está.

Comprueba a ver si después del Append y antes de guardar la fecha, queriendo o sin querer, te mueves de registro, y te está guandando la fecha en otro registro distinto del que has añadido.

Un saludo.

perillan 19-11-2005 19:24:04

No se el porque, pero lo he puesto a grabar en otro campo de las mismas caracteristicas (date) y aqui si que lo graba.
Un saludo y muchas gracias


La franja horaria es GMT +2. Ahora son las 18:34:36.

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