Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-02-2017
usuario1000 usuario1000 is offline
Miembro
 
Registrado: nov 2016
Posts: 86
Poder: 8
usuario1000 Va por buen camino
Problemas con fechas SQL

Hola amigos, que tal???

Me da hasta verguenza preguntar esto, pero es que llevo toda la tarde haciendo mil combinaciones y no toca la flauta. No sé como grabar una fecha en mi base de datos de Firebird, utilizando el típico query.He probado de mil maneras y nada.

Código Delphi [-]
 with QUERY1 do
  begin
      SQL.Add('insert into DATOS (N_obra,  nombre_largo, nombre_corto, domicilio, poblacion, provincia, codigo_postal, comentario, fechaCreacion)');
      SQL.Add('values ( bra, :nlargo, :ncorto, :domicilio, oblacion, rovincia, :cp, :comentario, :fechaCreacion)');
      ParamByName('obra').AsInteger := strtoInt(codigo);
      ParamByName('nlargo').AsString := nombrelargo;
      ParamByName('ncorto').AsString := nombrecorto;
      ParamByName('domicilio').AsString := domicilio;
      ParamByName('poblacion').AsString := poblacion;
      ParamByName('provincia').AsString := provincia;
      ParamByName('cp').AsString := codigopostal;
      ParamByName('comentario').AsString := comentario;
      ParamByName('FechaCreacion').Value:= strToDate(FechaCreacion);   <- DA ERROR
    end;

Esa línea que da error la he cambiado por:

ParamByName('FechaCreacion').asdate:= strToDate(FechaCreacion); <- y DA ERROR

ParamByName('FechaCreacion').asDateTime:= strToDate(FechaCreacion); <- y DA ERROR

ParamByName('FechaCreacion').Value:= date(); <- por probar y DA ERROR


He leido y releido, pero ya no veo ni entiendo nada, después de tanto rato.

Se agradece un poco de luz.

Gracia a todos.

Nota: Utilizo Delphi Seatle, FireBird 2.5 y componentes FireDac (FDQuery)

Última edición por Neftali [Germán.Estévez] fecha: 20-02-2017 a las 13:25:22. Razón: Añadir TAG's
Responder Con Cita
  #2  
Antiguo 20-02-2017
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Que error te da?

Como esta definido el campo en cuestion en tu tabla?
Responder Con Cita
  #3  
Antiguo 20-02-2017
usuario1000 usuario1000 is offline
Miembro
 
Registrado: nov 2016
Posts: 86
Poder: 8
usuario1000 Va por buen camino
El campo está definido en la base de datos como tipo 'date'

saludos.
Responder Con Cita
  #4  
Antiguo 20-02-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por usuario1000 Ver Mensaje
...saludos.
Recuerda poner los tags al código fuente, ejemplo:



Gracias
Responder Con Cita
  #5  
Antiguo 20-02-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

No se de que tipo es la variable FechaCreacion, pero intenta de estas formas:
Código Delphi [-]
  // 1.-
    ParamByName('FechaCreacion').AsDate     := FechaCreaCion;
  // 2.-
    ParamByName('FechaCreacion').AsDateTime := FechaCreacion;
En mi prueba funciona de ambos modos, sea que en Delphi la variable FechaCreación esté declarada de tipo TDate o TDateTime.

Una observación: Para evitar residuos de llamadas anteriores es muy importante no olvidar el método Clear cuando usas el método Add .
Código Delphi [-]
  with QUERY1 do
  begin
    SQL.Clear;  // <- !!!!
    ...

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 20-02-2017
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 685
Poder: 19
olbeup Va camino a la fama
Hola Usuario1000,

La variable que le pasas "FechaCreacion" ya es de tipo TDateTime o es un String?, si es de tipo TDateTime el StrToDate(FechaCreacion) sobra.

En vez de
Código Delphi [-]
ParamByName('FechaCreacion').Value:= strToDate(FechaCreacion);   <- DA ERROR
Poner
Código Delphi [-]
ParamByName('FechaCreacion').AsDateTime := FechaCreacion;
Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita
  #7  
Antiguo 20-02-2017
usuario1000 usuario1000 is offline
Miembro
 
Registrado: nov 2016
Posts: 86
Poder: 8
usuario1000 Va por buen camino
Solucionado.

Gracias a todos por vuestro tiempo.

Al final se trataba de un error en el nombre de la variable "FechaCreacion" de la base de datos, y estaba equivocandola con la varieble que utilizaba como parametro. UFF, vaya error por mi parte!!!, me estaba volviendo loco.

Gracias a todos por vuestro tiempo.
Responder Con Cita
  #8  
Antiguo 21-02-2017
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
En realidad lo ideal es que peges (y leas ) el mensaje de error, porque las bases de datos suelen ser bastante explicitas, en este caso, con mensajes como "columna "XXX" no encontrada en tabla "YYY""
Responder Con Cita
  #9  
Antiguo 21-02-2017
usuario1000 usuario1000 is offline
Miembro
 
Registrado: nov 2016
Posts: 86
Poder: 8
usuario1000 Va por buen camino
Lo tendré en cuenta.

Gracias por vuestra paciencia.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problemas con las Fechas en SQL Emilio_82 SQL 2 01-07-2008 01:08:46
Problemas con fechas CFPA86 Varios 2 22-12-2006 06:54:55
problemas con las fechas majosf Varios 4 15-09-2005 03:42:37
problemas Fechas (now) jmlifi Varios 6 07-04-2005 19:57:18
Problemas con las fechas NuncaMas Varios 2 15-02-2005 18:33:03


La franja horaria es GMT +2. Ahora son las 23:40:14.


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
Copyright 1996-2007 Club Delphi