Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-08-2007
Avatar de radiohead
radiohead radiohead is offline
Miembro
 
Registrado: may 2004
Ubicación: Oliva (Valencia)
Posts: 34
Poder: 0
radiohead Va por buen camino
Cool Problemas: consulta por fechas con parametros

Hola!

Estoy conectando a una base de datos access mediante ADOConnection.
En el TAdoDataSet utilizo la siguiente consulta SQL:

Código SQL [-]
 
SELECT 
[_FACTURAS].FechaRecibo, 
[_FACTURAS].NumeroRecibo, 
[_FACTURAS].ID_CLIENTE, 
[_ABONADOS].Nombre1, 
[_FACTURAS].CodigoAbonado, Calles.NombreCalle & ', ' & [_ENGANCHES].NumeroFinca & ' - ' & [_ENGANCHES].EscaleraFinca & ' - ' & [_ENGANCHES].PisoFinca & ' - ' & [_ENGANCHES].PuertaFinca AS DIRECCION, [_FACTURAS].Consumo, 
[_FACTURAS].ImportePrincipal, 
[_FACTURAS].Situacion

FROM 
Calles INNER JOIN ((_ABONADOS INNER JOIN _ENGANCHES ON [_ABONADOS].CodigoAbonado = [_ENGANCHES].CodigoAbonado) 
INNER JOIN _FACTURAS ON [_ABONADOS].CodigoAbonado = [_FACTURAS].CodigoAbonado) ON Calles.CodigoPoblacion = [_ENGANCHES].CodigoPoblacionFinca

WHERE ((([_FACTURAS].FechaRecibo) BETWEEN :FIni And :FFin))

Utilizo 2 DateTimePicker para seleccionar la fecha de inicio y la fecha de fin, y lanzo la consulta en el siguiente código:


Código Delphi [-]
procedure TfrmFacturacion.actPresentarExecute(Sender: TObject);
var
  FechaIni, FechaFin: String;
begin
  FechaIni := DateToStr(DateTimePicker1.Date);
  FechaFin := DateToStr(DateTimePicker2.Date);
 
  cdsFacturacion.Close;
  ADOdsFacturacion.Close;
 
  ADODsFacturacion.Parameters[0].Value := FechaIni;     //TADODataSet
  ADODsFacturacion.Parameters[1].Value := FechaFin;
 
  ADOdsFacturacion.Open;
  cdsFacturacion.Open;
 
  mkdFactura.SetFocus;
end;

El problema es que, si introduzco un rango de fechas, en el cual no haya ningun registro, la consulta la hace inmediatamente, sin problemas y casi sin esperas. Pero si introduzco un rango en el que sí tendría que devolver valores se queda colgado. Sin mensajes de error, pero colgado.

Al seguir la traza paso a paso, veo que la instrucción de apertura del ADODataSet sí que la pasa, (aunque le cuesta), pero no así la apertura del clientDataSet.

Las consultas que devuelven valores devuelven unos 4000 registros. Esta tabla tiene actualmente unos 150.000 registros, pero en consultas a otras tablas con parecido número de registros devueltos (no hablo de totales) la respuesta es inmediata.

¿A qué se puede deber?
Salu2 anticipadamente.
__________________
La vida es un desliz. Después, te mueres.

Última edición por delphi.com.ar fecha: 06-08-2007 a las 14:58:56. Razón: Agregué Etiquetas
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
Problema al filtrar fechas con parametros MaMu SQL 4 04-06-2007 07:54:09
Consulta sin usar parametros Sistemasgalbo MS SQL Server 7 11-01-2007 03:16:13
Parametros en Consulta SQL joi Varios 2 31-10-2005 19:36:49
consulta de parametros de 2combobox kryna Conexión con bases de datos 3 29-03-2005 08:17:39
Problemas con una consulta de fechas tiagor64 SQL 6 08-02-2005 20:52:04


La franja horaria es GMT +2. Ahora son las 20:07:46.


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