Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 11-06-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Hola aleja,
Si tu duda pasa por la diferencia entre acceder en forma directa y la indirecta pues hay que ver el código fuente de ZTable.

Yo no uso Zeos, pero intuyo que el comportamiento es análogo a cualquier otro.

No existe demasiada diferencia entre uno y otro, pero si las particularidades de como llevar la programación pueden conducirte a optar un método por sobre el otro.

Cuando uno invoca al campo en forma directa, con el índice. Lo que hace es leer indistintamente el concepto al que representa. Se lee el campo que ocupa dicha posición. Es decir que no interesa si se llama IDCliente, o Descripción. Si el indice corresponde a una posición válida haces referencia al campo que ocupa dicha posición.

Con el segundo método, lo que hacemos es buscar al campo según su nombre, o el concepto al que representa. Esto es útil cuando estamos tratando con los campos en forma independientemente del lugar que ocupa el campo. Es así que si optamos por buscar el campo según el nombre no nos interesa saber si se trata del tercero, el segundo, el centésimo...

Internamente, el uso del segundo método hace uso del primero. Puesto que al suministrar el valor, debe chechear contra el arrays de campos para encontrar dicha referencia. A ver... no sono bien... El segundo método necesariamente debe chequear con todos los campos hasta encontrar el que se desea.

¿Cual es la ventaja de uno sobre el otro? Pues, el primero es directo. El segundo es más "lento" ya que debe buscarlo.

¿Cuando conviene usar uno y cuando el otro?
Y pues... depende. Pero unos buenos motivos para usar el segundo pueden ser:
1. Cuando la estructura de la base de datos es muy volátil. Es decir, existe el riesgo de que los campos cambien de lugar, que desaparezcan algunos... en fin... cuando no podemos garantizar de que en la posición estará disponible el campo que realmente necesitamos.
2. En ocaiones, el implementar un índice no nos ayuda a la comprensión del código (y del problema mismo). En ocasiones el ver un 1, u 50, o 100 nos lleva a preguntarnos ¿De donde sale ese número? ¿qué representa? En pocas, puede reducir la capacidad de comprensión, adaptación, y mantenimiento del código.

De igual manera podemos formular puntos a favor del primero por sobre el segundo:
1. El acceso es directo, nada de ciclos, nos vamos al grano.
2. Podremos afirmar con total certeza de que el campo al que hago alusión corresponde al campo IDCliente (por ejemplo). Se que nunca va a sufrir cambios la base de datos.

Espero que quede más claro.

Sino se entiende, avisa.
Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Pregunta sobre BDE JorgeBec Conexión con bases de datos 1 18-03-2005 15:53:02
Pregunta sobre Query silviodp Conexión con bases de datos 28 27-04-2004 23:17:57
Pregunta sobre .net VolaRe .NET 10 14-04-2004 22:09:50
pregunta sobre mysql? davidgaldo MySQL 2 01-03-2004 03:26:22
pregunta sobre Ms Sql ssaavedra MS SQL Server 1 09-01-2004 15:35:51


La franja horaria es GMT +2. Ahora son las 18:10:29.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi