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)
-   -   Error en campo fecha, con SQL Server 2005 (https://www.clubdelphi.com/foros/showthread.php?t=59267)

Carmelo Cash 19-08-2008 21:14:39

Error en campo fecha, con SQL Server 2005
 
Hola foro

Tengo problemas con el campo tipo fecha en SQL Server 2005
Estoy usando Delphi 6 y Para conectarme uso dbexpress.

una tabla de ejemplo:

Create table Ventas (
ID_Venta Integer not null,
fecha dateTime,
Total Integer)


Luego utilizo un TSQLQuery con la siguiente SQL

Insert into ventas
(
ID_Venta,
Fecha,
Total
)
values
(
:P_ID_Venta,
:P_Fecha,
:P_Total
)

Los parámetros los defino todos tipo ptinput y
P_ID_Venta y P_Total Integer,
y P_fecha DateTime

luego en el código hago

Código Delphi [-]
procedure TForm1.Button4Click(Sender: TObject);
begin
  with sqlquery3 do begin
    ParamByName('P_ID_venta').Value:=SpinEdit1.Value;
    ParamByName('P_Fecha').asdate:=DateTimePicker2.DateTime;
    ParamByName('P_Total').Value:=SpinEdit1.Value;
    ExecSQL;
  end;    // with
end;

el mensaje de error que muestra es

"DBX error: invalid Field Type"

Probé eliminar el parámetro P_Fecha y sacarlo de la consulta de inserción y acepta los registros bién pero por supuesto el campo fecha queda null.

Muchas Gracias

BlueSteel 19-08-2008 22:06:06

prueba así
Código Delphi [-]
procedure TForm1.Button4Click(Sender: TObject);
begin
  with sqlquery3 do begin
    ParamByName('P_ID_venta').Value:=SpinEdit1.Value;
    ParamByName('P_Fecha').Value   :=DateTimePicker2.DateTime;
    ParamByName('P_Total').Value   :=SpinEdit1.Value;
    ExecSQL;
  end;    // with
end;

Tambien puede ser

Código Delphi [-]
    ParamByName('P_Fecha').Value   :=DateTimePicker2.Date;
, eso dependerá si quieres almacenar solo la fecha o la fecha y hora

Salu2:p:D

Carmelo Cash 21-08-2008 15:23:47

Listo
 
Efectivamente la sentecia correcta es

ParamByName('P_Fecha').Value :=DateTimePicker2.DateTime;

Sin embargo el error se seguía produciendo y porque en los parámetros "P_Fecha" estaba definida como "Datetime", lo cambié a "TimeStamp" y listo.

Es raro porque en la creación de la tabla el campo está como Datetime. ¿?:confused:

Gracias BlueSteel

PD: El de la foto con las minas de Rio sos vos?. Si es así, pasas a ser mi ídolo, más que neftali, quién siempre me saca las papas del fuego :D

BlueSteel 21-08-2008 21:33:59

Cita:

Empezado por Carmelo Cash (Mensaje 308549)
PD: El de la foto con las minas de Rio sos vos?. Si es así, pasas a ser mi ídolo, más que neftali, quién siempre me saca las papas del fuego :D

ja ja ja :D:D:D Efectivamente... si soy yo.... bueno, cada cual celebra el cumpleaños como puede....

Salu2:p:D


La franja horaria es GMT +2. Ahora son las 11:20:38.

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