Que hace DBSeek() cuando se ejecuta con el mismo argumento..

Que hace DBSeek() cuando se ejecuta con el mismo argumento..

Postby SauroSrl » Thu Jul 26, 2007 9:17 pm

Hola amigos del foro:

Una consulta: Que hace DBSeek() cuando se ejecuta nuevamente con el mismo argumento (y ya encontro el registro indicado), vuelve a ejecutar la busqueda desde el principio?, aun sabiendo que ya se lo encontro, o mas bien que ya esta en el registro buscado?

Pienso que, si antes de ejecutar la busqueda se pregunta si ya esta sobre el registro buscado, y si es el registro indicado, entonces no seria necesaria la busqueda. ¿Seria mas eficiente?.

De antemano, Gracias por disolver la duda.

Rolando
SauroSrl
 
Posts: 17
Joined: Mon Feb 06, 2006 2:57 pm

Postby Carlos Mora » Sun Jul 29, 2007 4:23 pm

Rolando,

El seek es imperativo: le dices que lo busque y este lo hará ya que no se puede presumir *nada* respecto de los datos, y más aún si estan en red.
La optimización es responsabilidad del programador, porque tu manejas la lógica de alto nivel que un simple seek no puede: Existe la posibilidad de que entre un seek y otro el registro se borre en otra estación? Puede que se cambie la clave de alguna forma desde otra estación? Puede que se borre el registro?
Si SEEK fuese capaz de saber esas cosas por si mismo, tu y yo estríamos más que jodidos, ya que no nos necesitarían ;)

Tiene el mismo sentido que el skip(0)

Saludos,

Carlos
Carlos Mora
 
Posts: 989
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 29 guests