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 13-03-2007
Novat0 Novat0 is offline
Miembro
 
Registrado: feb 2007
Posts: 19
Poder: 0
Novat0 Va por buen camino
Question Seleccionar los registros con una fecha determinada

Me gustaría saber cómo elegir los registros que tienen una fecha concreta, elegida a través de un TCalendar.

Mi fallida sentencia SQL es:
Código SQL [-]
SQL.Add('SELECT * FROM REGISTROS');
SQL.Add('WHERE FECHA_ENTRADA = ' + DatetoStr(Calendario.Date));
SQL.Add('ORDER BY ID_REGISTRO');
También he intentado entrecomillar el DatetoStr(Calendario.Date), pero falla igualmente.

¿Cuál es la sentencia SQL correcta?

Gracias.
Responder Con Cita
  #2  
Antiguo 13-03-2007
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
Hola Novat0

Prueba con esto:

Código SQL [-]
SQL.Add('SELECT * FROM REGISTROS');
SQL.Add('WHERE FECHA_ENTRADA = ' +QuotedStr(DatetoStr(Calendario.Date)));
SQL.Add('ORDER BY ID_REGISTRO');


Saludos
Responder Con Cita
  #3  
Antiguo 13-03-2007
Novat0 Novat0 is offline
Miembro
 
Registrado: feb 2007
Posts: 19
Poder: 0
Novat0 Va por buen camino
Gracias por contestar tan rápido.

Tu solución debería ser la correcta y cuando hago una búsqueda sin resultados no sucede nada incorrecto.

El problema se produce cuando sí hay un registro en esa fecha, ya que me salta el error "Database Server Error: conversion error from string "14/02/2007"".
Responder Con Cita
  #4  
Antiguo 13-03-2007
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
Prueba con una consulta parametrizada, por ejemplo:

Código Delphi [-]
with Query1 do
begin
  Close;
  SQL.Clear;
  SQL.Add('SELECT * FROM REGISTROS');
  SQL.Add('WHERE FECHA_ENTRADA =:MiFecha');
  SQL.Add('ORDER BY ID_REGISTRO');
  ParamByName('MiFecha').AsDateTime:=Calendar.Date;
  Open;
end;

Saludos
Responder Con Cita
  #5  
Antiguo 13-03-2007
Novat0 Novat0 is offline
Miembro
 
Registrado: feb 2007
Posts: 19
Poder: 0
Novat0 Va por buen camino
Gracias de nuevo. Ahora esa búsqueda funciona, pero ha provocado otro problema.

Otras búsquedas que usan el mismo DataSet se descontrolan debido a la inserción del parámetro MiFecha y, después de relizar una búsqueda por fecha (antes no pasa nada), el resto de búsquedas (por nombre) dejan de funcionar y aparece el mensaje 'unknown ISC error 0'.

¿Cómo puedo quitar el parámetro 'MiFecha' después de haberlo usado?

Un saludo y gracias.
Responder Con Cita
  #6  
Antiguo 13-03-2007
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Poder: 20
Ivanzinho Va por buen camino
Si no quieres usar el parametro puedes hacer lo siguiente
Código Delphi [-]
SQL.Add('SELECT * FROM REGISTROS');
SQL.Add('WHERE FECHA_ENTRADA = ' +QuotedStr(FormatDateTime('mm/dd/yyyy',Calendario.Date)); 
SQL.Add('ORDER BY ID_REGISTRO');

Un saúdo
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)

Última edición por Ivanzinho fecha: 13-03-2007 a las 09:48:14.
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
seleccionar los ultimos registros de una tabla JODELSA SQL 1 04-10-2006 15:27:41
seleccionar registros de hace un mes o año m8estrella83 Varios 6 24-06-2006 10:48:13
Seleccionar n registros a partir de uno dado fidel SQL 9 15-06-2006 22:14:25
devorver una cantidad determinada de registros senpiterno SQL 2 20-04-2005 22:10:03
Seleccionar varios registros de una tabla por un campo vhirginia Conexión con bases de datos 19 27-04-2004 12:00:57


La franja horaria es GMT +2. Ahora son las 11:52:25.


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