Ver Mensaje Individual
  #2  
Antiguo 30-05-2003
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Reputación: 30
jachguate Va por buen camino
No se a que te referis con "arcaico"....

Desde mi punto de vista (nunca he usado dbexplorer) no es necesario que tengas un cursor bidireccional.... Además no cualquier base de datos te provee estos; de hecho la mayoría solamente te proveen cursores unidireccionales.

Lo que se hace normalmente (y supongo que dbExpress también lo hace) es que abris el cursor (en principio unidireccional) y creas un cache en la máquina cliente, donde podes crear la "ilusión" de un cursor bidireccional.

Por supuesto, esto implica un consumo bárbaro de memoria en la máquina cliente, que depende de vos como desarrollador determinar si vale la pena o no....

Por lo general, habrá una propiedad que te permita indicar si queres un cursor bidireccional o unidireccional. La diferencia práctica, es que sobre uno unidireccional, si haces MiCursor.Prev, el motor te mandará a freir papas...

Con los cursores unidireccionales, el consumo de memoria es menor y yo te aconsejaria utilizarlos siempre que sea posible. Digamos para imprimir informes, el cursor lo vas a recorrer únicamente en una dirección, no??

Con el otro punto que habias mencionado:

Un Select * from clientes, podria resultar en un abuso, no solo de la memoria de la máquina cliente, sino del preciado ancho de banda de la red....

Vos, cuando desarrollas una aplicación, no sabes si en algún momento llegará a tener 50,000 clientes. Y que pasa si se te ocurre la grandiosa idea de montar tu aplicación en internet...

Te imaginas cuanto tiempo tomará llevar 50,000 registros a la máquina del cliente solo para permitirle "navegar" comodamente por todos sus clientes....

Es mejor llevar solamente los datos que son necesarios y ya.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita