Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Inserta fecha actual (https://www.clubdelphi.com/foros/showthread.php?t=30380)

zvf 05-04-2006 01:01:31

Inserta fecha actual
 
Tengo un problema al querer insertar la fecha de hoy en una base de datos con el siguiente código delphi:

Código Delphi [-]
 
 
  d:=date;
  sd := datetostr (d);
 
 consulta:= 'INSERT INTO `ventas` (`venta_fecha`,`venta_fact`,`venta_total`) VALUES ('+ #39 + sd + #39 +','+ #39 + sesremision + #39 +' ,'+ #39 + ssender + #39 +');' ;
  ZQInserta.SQL.Clear;
  ZQInserta.SQL.Add(consulta);
  ZQInserta.ExecSQL;
 showMessage (sd);

Las variables d y sd son de tipo :
d : TDate;
sd : string;

El mensaje para ver el contenido de la variable sd, muestra:
04/04/2006

Pero en la base de datos, en el campo venta_fecha guarda :
2004-04-20

¿Saben porque me cambia la fecha?
Yo quiero que en la base de datos se guarde la fecha de hoy, es decir:
2006-04-04

¿Que puedo hacer? :confused:

vtdeleon 05-04-2006 06:41:12

Saludos


Mejor utiliza Parametros, intenta esto
Código Delphi [-]
  ZQInserta.SQL.Clear;
  ZQInserta.SQL.add('INSERT INTO `ventas` (`venta_fecha`,`venta_fact`,`venta_total`');
  ZQInserta.SQL.Add('VALUES (:fecha,VenFact,:VenTot);');
  ZQInserta.ParamByName(:fecha).AsDate:=Now;
  ZQInserta.ParamByName(:VenFact).AsDate:=ventafactura;//Variable
  ZQInserta.ParamByName(:VenTot).AsDate:=ventatotal;/variable
  ZQInserta.ExecSQL;
 showMessage (sd);

zvf 05-04-2006 23:28:55

Ya lo cambie, pero no compila, marca un error en :

Código Delphi [-]
ZQInserta.ParamByName(:fecha).AsDate:=Now;

El error dice:

:confused: :confused: :confused: Expresion esperada, pero : encontrados :confused: :confused: :confused:

:(

maeyanes 06-04-2006 00:57:09

Hay un error en las líneas:
Código Delphi [-]
ZQInserta.ParamByName(:fecha).AsDate:=Now;
  ZQInserta.ParamByName(:VenFact).AsDate:=ventafactura;//Variable
  ZQInserta.ParamByName(:VenTot).AsDate:=ventatotal;/variable

El nombre de los parámetros que se le pasa a ParamByName tiene que ser un string:

Código Delphi [-]
  ZQInserta.ParamByName('fecha').AsDate:=Now;
  ZQInserta.ParamByName('VenFact').AsDate:=ventafactura;//Variable
  ZQInserta.ParamByName('VenTot').AsDate:=ventatotal;/variable


Saludos...

zvf 06-04-2006 01:23:16

¡¡¡¡¡¡¡¡¡¡¡¡¡ Funciono !!!!!!!!!!

Gracias A Todos.

:d


La franja horaria es GMT +2. Ahora son las 22:00:53.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi