Este es un concepto que debemos tener claro al programar con Velneo ya que algunos de los comandos de instrucción de acceso a la base de datos están orientados a listas y no a fichas. Por este motivo podemos llegar a buscar un registro concreto usando un comando como cargar lista o un objeto como la búsqueda que devuelven listas.
Cuando resolvemos de forma precisa todas las partes de un índice de clave única de una tabla, Velneo nos devolverá ese registro, si estamos usando cargar lista o una búsqueda, por ejemplo, nos encontraremos que lo que obtenemos es una lista de un registro.
Conceptualmente sigue los mismos criterios que SQL ya que se utilizan las mismas sentencias para trabajar con listas o fichas y el resultado obtenido depende de la resolución de la cláusula Where. Otros lenguajes de programación sí disponen de comandos específicos para leer una ficha concreta, como también ocurre en el API de Velneo para JavaScript donde disponemos de la función readRegister.
Tras cargar lista o buscar tenemos 2 formas de leer ese registro.
Seleccionar ficha por posición 1
Y a continuación leer la ficha seleccionada.
Recorrer lista de solo lectura
Si solo hay un registro ejecutará lo que tenemos previsto. El problema de esta segundo opción es que si no resolvemos bien el cargar lista o la búsqueda podemos estar obteniendo una lista con más de un registro lo que produce que este comando lea todos los registros, mientras que la primera opción nos garantiza que solo leeremos un registro, el primero de los encontrados.
También podríamos usar el comando cortar lista antes de recorrer para forzar que la lista solo contiene un registro.
Marco Rangel dice
Me queda claro que todos los caminos llevan a Roma, pero de las dos alternativas que aquí planteas viene la pregunta ¿Cuál de las dos opciones es la más eficiente?
Saludos.
jarboleya dice
Hola Marco.
Realmente no vas notar ninguna diferencia de rendimiento en ambos casos.
En la versión 31 se añadió un nuevo comando «Leer registro» que hace lo mismo con una sola instrucción.
https://doc.velneo.com/velneo-vdevelop/proyectos-objetos-y-editores/de-aplicacion-y-datos/proceso/base-de-datos/busquedas#leer-registro
Un cordial saludo.