Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Aplicacion se 'cuelga' al llamar a OPEN (tquery) (https://www.clubdelphi.com/foros/showthread.php?t=37467)

halcon_rojo 14-11-2006 14:44:49

Aplicacion se 'cuelga' al llamar a OPEN (tquery)
 
Hola a todos!, alguien sabe por que una llamada a OPEN de un tquery podria provocar que la aplicacion deje de responder? Especificamente en mi aplicacion debo imprimir un reporte de una u otra agencia, que se elije de entre una lista de agencias y tengo el siguiente codigo en mi aplicacion...
Código Delphi [-]
// Me guardo la consulta SQL del query...
 Csql := dm.datos.quCompras.SQL.Text ;

// Aqui armo una consulta segun el criterio que eligio el usuario
// desde un combo
if HabAge and not (cboAge.ItemIndex = 0) then
  begin
      dm.datos.agencia.Locate('Nombre',cboAge.Text,[]);
      dm.datos.quCompras.SQL.Clear;
      dm.datos.quCompras.SQL.Add('SELECT * FROM '+ QuotedStr('COMPRAS.DBF')+
          ' WHERE agencia = '+ QuotedStr(dm.datos.agenciaAGENCIA.AsString) +
          ' ORDER BY FECHA, NFACTURA');
  end;  //if

   // Determino el tipo de reporte a imprimir, segun otro combo
   case grpReps.ItemIndex of
   0 : // imprimir compras
   begin
    if not dm.datos.quCompras.Prepared then
        dm.datos.quCompras.Prepare;
    // es en esta siguiente linea que la aplicacion deja de responder
    dm.datos.quCompras.Open;

      Application.CreateForm(TfrmRepComA, frmRepComA);
      frmRepComA.pAgencia := cboAge.Text ;
      frmRepComA.rpCompra.Preview;
      frmRepComA.Free;
  .... etc

Se que la consulta que se arma esta bien, ya revise eso, pero lo raro que no siempre se cuelga la aplicacion, sino cuando la agencia seleccionada es la primera. Please denme pautas para ver donde revisar el error? sera de las tablas? por cierto manejo tablas DBF pero aparentemente todo esta bien ahi.

Neftali [Germán.Estévez] 14-11-2006 15:37:41

Cita:

Empezado por halcon_rojo
...pero lo raro que no siempre se cuelga la aplicacion, sino cuando la agencia seleccionada es la primera.

No estarás con algun bloqueo (deadLock); Teienes abierta esa agencia en otro lugar; ¿Puede ser que esté bloqueada?

halcon_rojo 14-11-2006 15:45:53

no creo, ya que la consulta que se arma es del tipo
Código SQL [-]
SELECT * FROM 'compras.dbf' WHERE agencia='1'
y el campo AGENCIA es llave extranjera... lo que no me explico es que falla cuando se arma agencia='0'... de todos modos revisare si se trata de algun bloqueo en compras.dbf, gracias!

halcon_rojo 15-11-2006 15:18:58

Problema persiste!
 
1 Archivos Adjunto(s)
Nada! no puedo encontrar solucion al misterioso problema! He probado abrir la consulta desde el editor de consultas de delphi y vi que cuando la consulta es
Código SQL [-]
SELECT * FROM 'COMPRAS.DBF' WHERE AGENCIA='2' ORDER BY FECHA, NFACTURA
funciona todo correctamente, pero si la consulta es
Código SQL [-]
SELECT * FROM 'COMPRAS.DBF' WHERE AGENCIA='0' ORDER BY FECHA, NFACTURA
es donde se cuelga, lo que me lleva a pensar q el problema puede ser en la tabla... pero no encuentro nada raro!! Por favor! Por el bien de mi salud mental alguien ayudeme! Adjunto la tabla en cuestion... por si acaso es una tabla que usa un archivo de indices CDX, creado en foxpro. cualquier comentario es bien recibido... bye!


La franja horaria es GMT +2. Ahora son las 17:25:26.

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