Ver Mensaje Individual
  #6  
Antiguo 13-11-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Ignacio
¿Como es eso de limitar los registros resultantes?
¿No te funcionó la consulta que te puse? Me extraña porque a mi me funcionó en Paradox y me resultaría asombroso que Paradox pudiera hacer algo que Interbase no.

En algunos motores de bases de datos existen modificadores de la cláusula SELECT para que el servidor sólo devuelva un número determinado de registros. Por ejemplo, en MySql la consulta

Código SQL [-]
select campos from tabla limit 10

te devolverá únicamente los primeros diez registros.

Yo no conozco Interbase pero quienes saben dicen esto:

http://www.clubdelphi.com/foros/show...itar+registros

Por otra parte, a diferencia de las bases de datos de buró, como Paradox- que manda todos los registros resultantes al cliente -muchos servidores mandan los resultados "sobre pedido" (o pueden ser configurados para que así lo hagan), esto es, mandan sólo unos cuantos registros del resultado al cliente y conforme éste va pidiendo más, el servidor le manda los siguientes. Es por ello que muchas veces, aunque los datos comienzan a aparecer de inmediato, instrucciones como DataSet.Last demoran una eternidad porque se obliga al servidor a mandar todos los datos.

Pero fíjate que en tu caso puedes ordenar los resultados en forma descendente:

Código SQL [-]
select FechaCot, NumeroCot
from Cotizaciones
where FechaCot <= :FechaMovimiento 
order by FechaCot desc, NumeroCot desc

El primer registro de esta consulta- que no el último -es el registro que buscas, de manera que no teniendo que usar Last, me parece que en realidad no estás trayendo todos los registros por lo que no importaría cuánto crece la tabla.

De cualquier forma a mi me gusta más la primera consulta que te puse ya que no requiere de procedimientos almacenados y sólo pide lo que quieres.

// Saludos

Última edición por roman fecha: 13-11-2004 a las 01:16:08.
Responder Con Cita