Ver Mensaje Individual
  #8  
Antiguo 19-02-2004
Avatar de haron
haron haron is offline
Miembro
 
Registrado: may 2003
Ubicación: Las Palmas de Gran Canaria
Posts: 310
Reputación: 22
haron Va por buen camino
Cita:
Empezado por Giniromero
Hola a todos,

Yo tengo un problema parecido, ¿no hay entonces ninguna forma que sustituya la clausula TOP por otro en interbase 7? yo lo que tengo es una consulta en la que sólo tienen que aparecer los últimos 10 o 15 registros de una tabla, el resto de los registros no me hacen falta.

Muchas gracias

Virginia
recuerdo que un TADOQuery tenia un parametro para no devolver todos los registros, sino que se los iba trayendo del servidor uno a uno cada vez que se ejecutaba el metodo 'next'.

lo que puedes hacer es lo siguiente:

Código:
select campo1, campo2, ...
from tabla
order by campo_i DESC
con la opcion DESC obtengo los ultimos registros al principio.

luego lo que tienes que hacer es recorrer estos registros:

Código:
cont:=0;
while not query.eof do 
begin
  // me traigo un registro
  query.next;
  // hago lo que tenga que hacer, como insertarlo en un TStringGrid
  ....
  // si supero los quince registros, me salgo del bucle
  cont:=cont+1;
  if cont>15 then break;
end;
si quieres presentarlo en una grilla, deberas usar en este caso un TStringGrid.
__________________
“Plantad la semilla de la avaricia en la infértil tierra de la estupidez y obtendreis la bella flor de la mierda”
(Confucio)
Responder Con Cita