Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   como insertar fecha y hora?? (https://www.clubdelphi.com/foros/showthread.php?t=2689)

ebeltete 02-08-2003 21:35:10

como insertar fecha y hora??
 
Tengo una tabla paradox con delphi 5, quiero insertar un registro en una tabla que tirene un campo fecha tipo date y otro horareal tipo time, hago lo siguiente:

query1.sql.add('insert into "emitidos.db" (fecha,horareal,horapautada,nombre,cliente,interprete,rubro,codigo)');
query1.sql.add('values (fecha_actual,hora_actual,"06:30","pppp",2,3,4,"01ab456789")');

El tema es que no se que poner en fecha_actual y hora_actual, pues pruebo con datetostr, date(now) y no me funciona, salu2

eduarcol 02-08-2003 22:25:24

MIRA LO QUE TE PUEDO ACONSEJAR ES QUE PRUEBES INSERTAR LA FECHA ENTRE COMILLAS, ME IMAGINO QUE LA VARIABLE FECHA ACTUAL ES DE TIPO STRING, SI NO LO ES PUEDES HACER ESTO, '"' + DATETOSTR(FECHA_ACTUAL) + '"' OTRA COSA QUE DEBES PROBAR ES EL FORMATO DE LA FECHA A MI ME FUNCIONA SOLO CUANDO HAGO UNA OPERACION COMO ESTA:

DECODEDATE(FECHAACTUAL, ANO, MES, DIA)

FECHAACTUAL := ENCODEDATE(ANO, DIA, MES)

PRUEBALO Y SUERTE!!!!!!!!!!!!

__cadetill 02-08-2003 22:28:08

Bueno, suponiendo que fecha_actual y hora_actual son variables de tipo TDate y TTime respectivamente, tienes varias maneras de hacerlo. Yo te mostrare 2

1.- Escribir directamente los parametros en la sentencia SQL. Para esta forma, tienes que saber el formato de la fecha en Paradox (que creo que es el que pongo, pero siempre me equivoco :p)

Código:

query1.sql.add('insert into "emitidos.db" (fecha,horareal,horapautada,nombre,cliente,interprete,rubro,codigo)');
query1.sql.add('values (' +
    QuotedStr(FormatDateTime('mm/dd/yyyy',fecha_actual)) + ',' +
    QuotedStr(FormatDateTime('hh:nn',hora_actual)) +
    ',"06:30","pppp",2,3,4,"01ab456789")');

2.- Utilizar ParamByName

Código:

query1.sql.add('insert into "emitidos.db" (fecha,horareal,horapautada,nombre,cliente,interprete,rubro,codigo)');
query1.sql.add('values (:fecha,:hora,"06:30","pppp",2,3,4,"01ab456789")');
query1.ParamByName('fecha').AsDateTime := fecha_actual;
query1.ParamByName('hora').AsDateTime := hora_actual;


Salvo error u omision :p

Espero te sirva


La franja horaria es GMT +2. Ahora son las 07:29:56.

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