Ver Mensaje Individual
  #4  
Antiguo 03-04-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Si, es correcto, aunque puedes mejorarlo haciendote algunas preguntas:

1- ¿Necesito poder modificar los registros?
Si - usa un TIbDataset
No - usa un TibQuery y sigue leyendo.

2- ¿Necesito recorrer los registros del query hacia delante y hacia atrás?
Si - Sigo usando un Tibquery
No - Usar un TibSql

Imagina, necesitamos recorrer todos los registros de un Query para añadir un campo a un combobox. Solo necesitamos recorrer los registros una sola vez, desde el principio del dataset hasta el final, pues usamos un ibSql.

Necesitamos una consulta oculta que usaremos para buscar la descripción de los clientes desde varias ventanas, necesitamos mover el puntero del dataset en ambos sentidos, hacia delante y hacia atrás, usamos un Ibquery.

Obviamente el ibsql es el que menos recursos consume, después va el ibquery y el que más consume, por así decirlo es el ibdataset.

Acabo de ver una incongruencia en el código:

Código Delphi [-]
cv:=TIBdataset.Create(Application);
...
cv.Free
Dices que el objeto "Application" será el que lo destruya, pero después tú mismo te encargas de destruirlo. Esto puede provacar errores al cerrar tu programa, donde no podrás situar puntos de ruptura. Puedes usar estas dos alternativas:

Código Delphi [-]
cv:=TIBdataset.Create(Application);
...
FreeAndNil(cv);

o bien:
Código Delphi [-]
cv:=TIBdataset.Create(nil);
...
cv.Free


Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 03-04-2008 a las 11:57:47.
Responder Con Cita