![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
Una pequeña puntualización:
No estás copiando nada. En memoria RAM, solo tienes un conjuto de registros al que accedes desde dos punteros: - uno el "dm.Ibdataset1" - otro puntero el "cv" Si cierras la consulta mediante el "cv" o mediante el "dm.Ibdataset1", estás actuando sobre los mismos datos. Lo normal es tener un IBdataset por cada tabla que quieras modificar. En todas las aplicaciones, tengo una rutina del tipo:
Ahora solo tienes que llamar a la función así:
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#2
|
|||
|
|||
|
Me has aclarado mucho.
No había tenido en cuenta lo de los punteros. He resuelto el problema de una forma a ver si está bien así:
Pregunto: ¿ haciendo esto, es decir usando un TIBDataSet nuevo, sería la forma correcta de trabajar con DataSet para obtener datos puntuales ? Gracias.
__________________
Saludos Cordiales. ------------------ |
|
#3
|
||||
|
||||
|
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: 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:
o bien:
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. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Copiar el contenido de un DataSet a otro DataSet | Javi2 | Varios | 88 | 22-11-2025 22:17:42 |
| copias de seguirdad | MiGuEJeReZ | MySQL | 1 | 02-10-2006 16:40:11 |
| copias incrementales | afxe | Varios | 1 | 25-08-2006 16:52:56 |
| copias de archivo | santiago22 | API de Windows | 2 | 29-07-2005 16:30:40 |
| Copias de Seguridad | noa | C++ Builder | 1 | 25-02-2004 17:52:27 |
|