FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Evitar el "Refresh" del ClientDataSet
Hola amigos del foro.
Hace poco comenzé a programar (bue... en realidad, a probar) con Delphi 7 y MySQL. Estoy haciendo algunas pruebas para ver cuál es la forma más rápida de acceder a los datos, modificarlos, ordenarlos, etc. Estoy utilizando dbExpress y ClientDataSet para acceder y actualizar datos. Noté que a medida que aumenta la cantidad de registros de una tabla, el refresh del ClientDataSet tarda cada vez más (ya se, no descubrí la pólvora ) Estoy probando una solución para este problema, y consiste en lo siguiente: Al agregar un nuevo registro, lo agrego a la base de datos mediante una instrucción SQL en un SQLDataSet (para mí es una opción muy cómoda) y luego, en lugar de hacer un refresh del ClientDataSet, le agrego (mediante insert - post) el nuevo registro. A continuación les muestro el código que utilizo.
Por las pruebas que estuve haciendo, todo funciona perfectamente. Por lo que Uds. se preguntarán: ¿Y qué es lo que querés saber entonces? El tema es que como no tengo experiencia en esto, no sé si lo que estoy haciendo puede traer algún problema o riesgo, o si hay alguna mejor forma de hacerlo. Por lo que me gustaría que me den su opinión de expertos. Les pido disculpas si la pregunta es muy ambigua o demasiado amplia. Desde ya les agradezco su tiempo. Leandro Última edición por leanfreue fecha: 14-04-2007 a las 07:00:45. |
#2
|
|||
|
|||
Supongo que no tendrás ningún problema mientras no hagas un ApplyUpdates, pero en tu caso que haces los cambios a través de SQLDataSet, no deberías tener problemas. Yo haría un CancelUpdates antes de cerrar el ClientDataSet.
El único inconveniente que le veo es si están trabajando varios clientes a la vez, no verás las actualizaciónes hechas por el resto de los clientes. |
#3
|
|||
|
|||
Gracias Basti, voy a tener en cuenta lo de CancelUpdates, y en cuanto a las actualizaciones de los otros usuarios, voy a poner un botón "Refresh" en el formulario, para que el usuario pueda asegurarse de estar viendo los últimos datos.
Gracias otra vez. Saludos. Leandro |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Necesito llamar a métodos de clases "hija" desde su clase "padre" | Flecha | OOP | 17 | 20-04-2007 00:03:53 |
"ChequeaEsto" elegido el futuro "Killer CLubDelphi" | mamcx | Noticias | 51 | 31-10-2006 20:56:32 |
Cinco normas para evitar el "phishing" | marcoszorrilla | Noticias | 56 | 02-05-2006 21:07:55 |
Evitar navegar desde barra "Dirección" de MI PC | Luis F. Orjuela | API de Windows | 1 | 10-02-2006 19:56:16 |
porque no me reconoce los caracteres "*" ni "%" cuando filtro | mrmago | Conexión con bases de datos | 10 | 27-01-2006 04:21:16 |
|