Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-03-2008
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
Como pasar una fecha como parametro

Buenos dias lo que quiero hacer es muy sencillo pero me marca un error alguien saba como darle formato a una fecha para pasarla como parametor a qun query gracias. por ejemplo 31/12/2008 de antemano gracias
Responder Con Cita
  #2  
Antiguo 04-03-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Yo si se
Saludos
Responder Con Cita
  #3  
Antiguo 04-03-2008
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
y como se hace??
Responder Con Cita
  #4  
Antiguo 04-03-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Código Delphi [-]
query.sql.text:= ´select * from tutabla where tucampo = :QUE';
query.parameters[0].value:= DateTostr(DateToStr(DateTimePicker1.DateTime);
Por supuesto, ya se es muy subjetivo, claro igual que la pregunta.
Ahora vamos como se pregunta:
Hola
1-Tengo un problema con los parametros con el formato fecha.
2-Uso una base de datos XXXXX
3-Uso los componetes xxxx para enlazar la BD.
4-Quiero que el parametro lo compare con un componente xxxxx o lo que sea.
Podrian ayudarme.?

En otras palabras, si la pregunta no esta completa como te van a contestar?
Saludos
Responder Con Cita
  #5  
Antiguo 04-03-2008
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
ok caral mil disculpas creo que tienes razon, pero mira lo que quiero hacer es algo como esto

Qry_ConRen.Parameters.ParamByName('fecha').Value:='12/31/2007';

gracias
Responder Con Cita
  #6  
Antiguo 04-03-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Creo que seguimos en lo mismo, pero si insistes.
Código Delphi [-]
Qry_ConRen.Parameters.ParamByName('fecha').Value:= StrToDate('12/31/2007');
Saludos
Responder Con Cita
  #7  
Antiguo 04-03-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
El campo fecha de que tipo es: date? string? La duda pasa por que pones entre comillas al valor....

Ya caral lo dijo... a falta de información seguiremos adivinando...
Además, si es por lo que veo, creo que estas usando ADO... y si es así, debes indicar el tipo de datos:

Código Delphi [-]
Query1.Parameters.ParamByName('fecha').DataType := ftXXXX;

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #8  
Antiguo 04-03-2008
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
ok tratare de ser mas especifico si exactamente us ocomponentes ado el servidor es sql 2005 el tipo de dato es datetime y pues siempre pongo .value para dar el tipo da dato esto ocasiona problemas mil gracias por su tiempo
Responder Con Cita
  #9  
Antiguo 04-03-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
richy08, seguimos con lo mismo:
¿qué problemas? ¿que error?

Ya he dicho, por empezar hay que indicarle el valor adecuadamente:
¿De donde obtienes el valor? Dependiendo de esa respuesta habrá que hacer el moldeo de tipo adecuado (si es necesario).

Y como dije, necesitas indicar el tipo. Prueba con ftDate. No tengo delphi a mano, disculpas.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #10  
Antiguo 04-03-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por richy08 Ver Mensaje
ok tratare de ser mas especifico si exactamente us ocomponentes ado el servidor es sql 2005 el tipo de dato es datetime y pues siempre pongo .value para dar el tipo da dato esto ocasiona problemas mil gracias por su tiempo
Bueno, trabajar con ese tipo de datos, requiere de pasar la fecha y la hora, personalmente no me gusta trabajar con ese campo, prefiero usar Date y Time por separado y te evitas muchos dolores de cabeza.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #11  
Antiguo 04-03-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Mejor no se puede explicar.
Saludos
Responder Con Cita
  #12  
Antiguo 04-03-2008
Avatar de richy08
richy08 richy08 is offline
Miembro
 
Registrado: may 2007
Ubicación: Bucerias, Nayarit Mexico
Posts: 529
Poder: 17
richy08 Va por buen camino
shale creo que no es mi dia no me levante inspirado , ya cheque el ftdate y en esta version no existe, este dato no l oestoy sacando de ningun lado es algo que quiero poner fijo lo que se mueve es la fecha actual y esa la saco de datetimepicker que previamente le asigne la fecha de hoy, esto lo hago para que en una grafica que genero con los datos de la bd me mu estre el dia actual hasta el fin de año, y el error que me marca que no es una fecha valida gracias
Responder Con Cita
  #13  
Antiguo 04-03-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por richy08 Ver Mensaje
shale creo que no es mi dia no me levante inspirado , ya cheque el ftdate y en esta version no existe, este dato no l oestoy sacando de ningun lado es algo que quiero poner fijo lo que se mueve es la fecha actual y esa la saco de datetimepicker que previamente le asigne la fecha de hoy, esto lo hago para que en una grafica que genero con los datos de la bd me mu estre el dia actual hasta el fin de año, y el error que me marca que no es una fecha valida gracias
Puede ser porque el formato de fecha no es correcto, intenta con le función:

Código Delphi [-]
ShortDateFormat := 'mm/dd/aaaa';
//o
ShortDateFormat := 'dd/mm/aaaa';

Antes de pasar el parametro.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #14  
Antiguo 04-03-2008
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Poder: 20
keyboy Va por buen camino
Cita:
Empezado por egostar Ver Mensaje
Puede ser porque el formato de fecha no es correcto
Pero se supone que de eso debiera encargarse el mismo componente al usar:

Código Delphi [-]
ADOQuery.Parameters.ParamByName('fecha').DataType := ftDate;
ADOQuery.Parameters.ParamByName('fecha').Value := DateTimePicker.Date

¿no?

Bye
Responder Con Cita
  #15  
Antiguo 04-03-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por keyboy Ver Mensaje
Pero se supone que de eso debiera encargarse el mismo componente al usar:

Código Delphi [-]
ADOQuery.Parameters.ParamByName('fecha').DataType := ftDate;
ADOQuery.Parameters.ParamByName('fecha').Value := DateTimePicker.Date

¿no?

Bye
Pues si, eso se supone, pero por alguna razón suele funcionar este método no tan ortodoxo y podría decir que hasta trivial.

Seria cuestión de que richy08 nos lo comentara si funcionó o no....

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #16  
Antiguo 14-03-2008
egarc egarc is offline
Miembro
 
Registrado: jul 2006
Posts: 60
Poder: 18
egarc Va por buen camino
En el SQL los campos tipo DateTime son fechas y horas a menos que al momento de grabar en ellos solo grabes la fecha, la hora sera siempre 12:00.

Pero, si al momento de grabar, mandas la fecha y la hora, y al momento de consultar solo envias la fecha, te puede dar problemas, porque el parametro que envias cuando consultas con solo fecha es (FECHA 12:00).

No se si me explique, debes en el mejor de los casos usar un BETWEEN. por ejemplo: FECHA BETWEEN '01-01-2008 00:01' AND '01-01-2008 23:59'

Creo que es la mejor manera, sin escapes...

espero les sirva
Responder Con Cita
  #17  
Antiguo 15-03-2008
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Lo correcto y elegante es esto:

Código:
  Query.ParamByName('fecha1').AsDate := DateTimePicker1.Date;
Yo siempre lo hago así y me funciona muy bien y además no tienes que preocuparte por el formato de fechas que use tu aplicación ni del que usa el motor de BD
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
Respuesta



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
Como pasar un parametro? b3nshi Varios 3 18-08-2007 06:54:53
Pasar SQL como parametro veloki Impresión 7 16-04-2007 15:28:37
¿Cómo pasar la clave de conexión como parámetro en una bd de mysql? D@byt Conexión con bases de datos 2 30-01-2007 13:52:21
pasar como parametro arrayq nenufer Varios 3 27-04-2006 16:43:13
Como obtener y pasar como parametro un Documento XML Ana Daniela Internet 1 21-08-2004 02:35:04


La franja horaria es GMT +2. Ahora son las 17:37:05.


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