Ver Mensaje Individual
  #10  
Antiguo 11-07-2017
Avatar de gatosoft
[gatosoft] gatosoft is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Bogotá, Colombia
Posts: 833
Reputación: 21
gatosoft Va camino a la fama
Como dicen todos, en principio parece correcto. ¿estás seguro que es el lugar donde está marcando el error? (solo por descartar)

No tengo mas que correcciones de forma: (sugierousar open y close en luagar del active, es solo de forma)

Código Delphi [-]
ruta_q:=Table5.fieldbyname('RUTA_DATOS').Value;
ruta_q:= ruta_q  + '\SENSORES.DB';

  Query3.close; 
  Query3.SQL.Clear; 
  With Query3.SQL Do
   Begin
       Add('SELECT NUM,SENSOR,UBICACION,ORIGEN,TIPO');
       Add ('FROM "'+ruta_q+'"');
       Add('WHERE');
       Add('SENSOR = :sens1');       
   end;
   query3.prepare;
   query3.parambyname('sens1').asInteger:= dsensor;
   Query3.open;


Ahora, para verificar que es lo que pasa, revisa los parametros que te estan llegando... por ejemplo imprimiendo con un showmessage el Query3.Paramscount (No se si es asi o Query3.Params.count)

Otra opcion es que utilices el indice del parametro:

Código Delphi [-]
   query3.prepare;
   query3.params[0].asInteger:= dsensor;
   Query3.open;


y por ultimo, podrias solucionar tu problema, pero no es la respuesta a este hilo:
Código Delphi [-]
  Query3.close; 
  Query3.SQL.Clear; 
  With Query3.SQL Do
   Begin
       Add('SELECT NUM,SENSOR,UBICACION,ORIGEN,TIPO');
       Add ('FROM "'+ruta_q+'"');
       Add('WHERE');
       Add('SENSOR = '+Inttostr(dsensor));       
   end;
   Query3.open;
Responder Con Cita