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 26-07-2003
YolandaM YolandaM is offline
Miembro
 
Registrado: jul 2003
Posts: 38
Poder: 0
YolandaM Va por buen camino
Consulta de fechas

Holaa todos /as

Una pruguntita muuu novata...


Como consulto unos datos de una tabla paradox entre fechas
suponiendo que el campo de llama FECHA.


SELECT * FROM MIBASE WHERE FECHA = 14/07/2003
Este codigo me da error en 14/07/2003 no entiede lo que quiero decir, si lo pongo entre corchetes #14/07/2003# más de lo mismo.

Como pongo este codigo para que lo entienda.

Gracias anticipadas.
Responder Con Cita
  #2  
Antiguo 26-07-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Si la fecha es estática:
Código:
procedure TForm1.Button1Click(Sender: TObject);
begin
Query1.Close;
Query1.Sql.clear;
Query1.Sql.Add('Select * from Factura where fecha = '+ '''04/15/2001''');
Query1.Open;
end;
Como verás primero va el mes y despues el día.


Si la fecha la tomas de un edit normal
Código:
Query1.Sql.Add('Select * from Factura where fecha = '+ QuotedStr(Edit1.Text);
Convendría comprobar antes si la fecha tecleada es válida.
Las almohadillas las incluirías por ejemplo si trabajarás con Access, con Paradox y Dbase te daría error.

Un Saludo.

Última edición por marcoszorrilla fecha: 26-07-2003 a las 20:05:36.
Responder Con Cita
  #3  
Antiguo 26-07-2003
YolandaM YolandaM is offline
Miembro
 
Registrado: jul 2003
Posts: 38
Poder: 0
YolandaM Va por buen camino
Otra vez Muchas gracias marcos.

La función QuotedStr, concretamente que hace?

además si en la base de datos la fecha esta grabada primero
dia/mes/año, porque en la consulta hay que poner primero el mes?

Saludos. YOLANDAM

Última edición por YolandaM fecha: 26-07-2003 a las 20:10:59.
Responder Con Cita
  #4  
Antiguo 26-07-2003
Newbie Newbie is offline
Miembro
 
Registrado: jul 2003
Ubicación: Veracruz, México
Posts: 30
Poder: 0
Newbie Va por buen camino
Podrías probar ponerlo así, con comillas en lugar de ##

Código:
SELECT * FROM MIBASE WHERE FECHA = '14/07/2003'
y a veces me he dado cuenta que varía el ordene n el que tienes que poenr el día y el mes. Puedes probar primero con 'dd/mm/aaaa' y si no funciona, como 'mm/dd/aaaa'.

Te aconsejo que prubes el query primero en el sql explorer de delphi o en el database desktop y veas como te funciona.

Espero haber sido de utilidad.
Responder Con Cita
  #5  
Antiguo 26-07-2003
YolandaM YolandaM is offline
Miembro
 
Registrado: jul 2003
Posts: 38
Poder: 0
YolandaM Va por buen camino
que hago mal aqui....?


with Query1 do begin
with SQL do begin
Clear;
Add('select refe as Nº_Factura, material AS Total_Material, ');
Add('obra AS Total_Mano_obra,tot AS Importe_Factura_€ ');
Add('FROM FACTURAS');
add('WHERE fecha='+ Quotedstr(entrada_fechas.f1.Text));
Add('order by refe');

Me da error en datos de diferente tipo en Quotedstr(entrada_fechas.f1.Text));

Gracias...
Responder Con Cita
  #6  
Antiguo 26-07-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
Bueno, en primer lugar, te aconsejaria que utilizaras (para las fechas) componentes especiales para ellas como el DateTimePicker o los que vienen con las rusas (que a mi me gustan mas).

Cita:
Posteado originalmente por YolandaM
add('WHERE fecha='+ Quotedstr(entrada_fechas.f1.Text));
Para el caso que nos ocupa, tendras que transformar el string a formato fecha y luego aplicarle formato con FormatDateTime. Algo asi mas o menos

Código:
var 
  fecha : TDate;
  strfecha: string;
begin
  fecha := StrToDate(entrada_fechas.f1.Text);
  strfecha := FormatDateTime('mm/dd/yyyy', fecha);
  add('WHERE fecha='+ Quotedstr(strfecha);
Espero te sirva
Responder Con Cita
  #7  
Antiguo 26-07-2003
YolandaM YolandaM is offline
Miembro
 
Registrado: jul 2003
Posts: 38
Poder: 0
YolandaM Va por buen camino
Smile

Gracias a todos. sois geniales.
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


La franja horaria es GMT +2. Ahora son las 07:50:33.


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