Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Componentes enlazados (https://www.clubdelphi.com/foros/showthread.php?t=24595)

@le 26-08-2005 19:22:08

Componentes enlazados
 
Buenas...
Me gustaria que alguien me explique que beneficio les proporciona la utilizacion de componentes elazados a la bd, como por ejemplo la dbgrid, para nombrar uno...
hace aproximadamente un año y medio que programo en delphi y la verdad es que siempre he evitado utilizar este tipo de componentes...por que no se bien como manejar la concurrencia de manera segura, sin embargo veo que muchos de los programadores que participan de los foros, los utilizan y herramientas como el bold, que me parece bastante atractiva tambien lo hace.
En sintesis quisiera saber si alguien me pude explicar por que utiliza los componentes enlazados a la bd...??

Desde ya muchas gracias..

PD: se que la principal ventaja de estas es la velocidad de desarrollo, pero en cuanto a la concurrencia me parece que no sirven de mucho..

lpmlpm 27-08-2005 20:40:33

Saludos

en principio, creo que como lo dices se usan por comodidad, pero no veo porque tengan que ser un impedimento para manejar la concurrencia... o tal vez no estoy entendiendo el concepto de tu pregunta.

Entiendo que lo que quieras decir es que si algun otro usuario modifica un registro que estas mostrando en una rejilla por ejemplo no se te refleja de manera inmediata el cambio... si es asi te puedo decir que eso no depende de que uses componentes enlazados sino de la implementación que tengas programada para ese tipo de casos cuando eso es necesario.

Yo particularmente uso los IBObjects para desarrollar mis programas y mi base de datos esta montada sobre un servidor Firebird, y cuando tengo que hacer eso que mencionas de reflejar al instante los cambios que se hacen en la BD uso los Eventos de Firebird y los "cacho" en los clientes, y cada que sucede X evento que tengo registrado en los clientes los dataset's correspondientes automáticamente hacen un update de si mismos y de los controles que tengan asociados, reflejando los cambios al instante.

El resto es bloqueos y operaciones con transacciones... espero haberte dado un norte en algo...

Lepe 28-08-2005 12:34:29

También está el tema de los errores.

Es muy cómodo delegar los errores de Violación de claves, duplicaciones, etc, al motor de bases de datos, si se producen, solo tienes que captarlos, hacer un rollback, y mostrar mensajito al usuario.

Por supuesto, primero tienes que estudiar como funciona el motor que uses y entender su funcionamiento. Muchas veces por este desconocimiento, hacemos increibles "mantenimientos a mano" para evitar los errores, cuando es mucho más fácil que el motor los trate.

Un saludo.

lucianojdg 30-08-2005 19:06:48

Yo no conozco bien como trabajar con componentes enlazados sin tener los problemas que menciona @le, pero creo que si es como dice Lepe que hay que conocer bien el motor de base de datos, entoces es muy limitido, porque lo ultimo que quiero es que mi aplicacion dependa de un motor de base de datos determinado...

Saludos

lpmlpm 30-08-2005 19:24:39

Cita:

Empezado por lucianojdg
hay que conocer bien el motor de base de datos, entoces es muy limitido, porque lo ultimo que quiero es que mi aplicacion dependa de un motor de base de datos determinado...

Yo creo que si lo que quieres es independizar tu aplicación del motor de base de datos hay muchas cosas que debes de considerar antes de pensar en la "problemática" de los componentes enlazados... aqui tienes algunas cosas por ejemplo: http://www.solucionesvulcano.com/blo...mejor-rad.html

Además me gustaría saber cual es esa "problematica" real de la que se habla aqui.

Saludos

lucianojdg 30-08-2005 21:21:26

Muy bueno el articulo... muchas gracias por compartirlo.

@le 31-08-2005 16:18:10

Gracias
 
muchas gracias por las respuestas brindadas... pero me gustaria si alguno puede compartir algun ejemplo sencillo.. pero detallado..
Muy bueno el articulo.. muchas gracias


La franja horaria es GMT +2. Ahora son las 07:23:43.

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