Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   no se si asi se diga; pero como hacer un lookup en un query (https://www.clubdelphi.com/foros/showthread.php?t=68198)

jazmin 31-05-2010 17:16:50

no se si asi se diga; pero como hacer un lookup en un query
 
hola chicos buenas!;)

tengo una duda con el componente dbgid o query no se cual seria el que aplica en este caso:p

lo que pasa es que necesito hacer una consulta en una tabla imaginense de 1000 datos de los cuales al regresar de la consulta se filtraron y solo quedaron 100 :rolleyes:

pero despues de quedar 100 necesito posicionarme sobre un elemento en particular para ver cual elemento le antece y cual le precide:)

hice un for y con un next voy comparando de uno por uno
pero es mas lento y si la busqueda se hace de mas de 100 datos de resultado pues es mas tardado el ciclo :(

mi pregunta es como posiciorme con una instruccion en una renglon del query:confused:

no se estoy divagando pero algo asi,

query1.lookup(query1referencia.value,'150'):cool:



donde el primer dato se la variable a comparar y el segundo dato el dato que estoy buscando y que en automatico me posicionara en esa direccion
para yo adelantar y atrazar el query y obtener los datos que estoy buscando

me pueden ayudar:)


algo asi como esto estoy usando pero no es muy practico:mad:


Código:

For x:=0 to query1.RecordCount-1 do begin
 
  if query1referencia.Value='150' then begin
      query1.Prior;
      anterior:=query1referencia.value;
      query1.next;
      query1.next;
      siguiente:=query1referencia.value;
  end
  else
      query1.next;
end;




ha pro cierto muchas gracias por siempre ayudarme ;)

Faust 31-05-2010 17:40:47

Busca en la ayuda de delphi sobre los TQuerys su procedimiento Locate, creo que no funciona muy bien en algunas bases de datos SQL pero en access, paradox, dbase y foxpro no hay mucho problemas.

Saludos

Caro 31-05-2010 18:09:54

Hola jazmin, como te dice faust puedes utilizar la función Locate.

Código Delphi [-]
If Query.Locate('referencia', '150', [loCaseInsensitive]) Then
 begin
   Query.Prior;
   .....................
   ..................... 
 end;

Saluditos

Faust 31-05-2010 18:25:43

Cita:

Empezado por Caro (Mensaje 365756)
Hola jazmin, como te dice faust puedes utilizar la función Locate.

Código Delphi [-]If Query.Locate('referencia', '150', [loCaseInsensitive]) Then begin Query.Prior; ..................... ..................... end;


Saluditos

Sorry... me faltó un ejemplo... bueno, pero quería alentarte a que busques un poquito... :D

Saludos.


La franja horaria es GMT +2. Ahora son las 22:35:44.

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