Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Componente TStringGrid o TDBGrid!!

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Componente TStringGrid o TDBGrid!! Responder citando

Me gustaria saber que diferencias o ventajas dispone el uso de uno u otro componente, sabiendo que si Asociamos el TDBGrid, el movimiento o desplazamiento en el registro es automático.

Ventajas e inconvenientes de usar uno u otro ?

TStringGrid o TDBGrid
_________________
Saludos
~~~~~~~~
Wink _Willa
~~~~~~~~
www.avancegame.com
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mensaje    Asunto: Responder citando

La ventaja principal es que puedes mantener separada la lógica de "Datos" con la presentación, pero esto solo es evidente si así has diseñado tu aplicación osea en capas.
-Puedes manipular los datos del stringrid y hacerle modificaciones, inserciones y eliminaciones sin que esto se refleje en la tabla y si al final desides descartar todos las operaciones no tienes el temor de que tus datos ubiesen cambiado, ya que todo lo hacias de forma temporal.

-La desventaja es que tienes que pasar a mano los datos de tus tablas al stringgrid y viceversa.

Es mucho más trabajo, pero tienes al final tambien mucho más control sobre lo que sucede.

Un equivalente al stringgrid sería el listview, la ventaja principal que tiene es que posee un modo "virtual" en el cual no le copias todos los datos de la tabla, sino atravez de eventos te va solicitando los registros que en ese momento se van ha mostrar.

Para trabajar de esta forma debes tener siempre una tabla abierta con los datos a mostrar(como sucede con el dbdgrid), poner ownerdata=true,
especificar cuantos registros se posee con listview->Items->Count = tamaño, programar el evento OnData que se ejecutara cada vez que se requiera mostrar un nuevo registro.

Yo aprendi a usarlo de esta página http://bcbjournal.org/articles/vol4/0001/Fast_updates_with_virtual_list_views.htm.

Nos vemos Very Happy
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Bueno, existe una solucion para hacer usar el tdbgrid, es quela plantilla de captra sea una tabla TEMPORAL, entocnes aprovechas las ventajas delTDBgrid pero sin enlazarla a tus datos reales, es decir, en el proceso de "guardado" tienes qeu hacer a "mano" los updates hacia la tabla detalles real en con ciclo for o while y luego vaciar el temporal
_________________
Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc

http://www.touchsoftwares.com
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

TDBGrid,
Yo me referia, la carga que tiene que ser para el sistema el asignar un
DataSet de una consulta de 1.000.000 de registros, el TDBGrid se
debe chupar la memoria como cosa fina..., por eso digo que al ser automático te ahorra el tener manipular registro a registro a la hora de visualizar, pero el uso de memoria es considerable sobre todo cuando manejamos una gran cantidad de registros en la consulta,

Por otra parte esta el StringGrid, el cual le podemos cargar en funcion de la necesidades "solo" el bloque de consulta que se visualiza en pantalla por lo que el ahorro de memoria es considerable, solo claro que esto supone un control sobre la parte o bloque de registro que se visualizan en cada momento.

Esto es mi modesta opinión si existe algun otro mecanismo de control o ahorro ... podian indicarlo!!
_________________
Saludos
~~~~~~~~
Wink _Willa
~~~~~~~~
www.avancegame.com
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mensaje    Asunto: Responder citando

Hola, al igual que controlas la consulta para un TStringGrid también puedes controlar la consulta para un TDBGrid, si solo visualizas 40 registros no hace falta traer 10.000 de la bd, los TDBGrid son cuestionables cuando son usados con campos TDBLookupComboBox dentro del mismo. Creo que el usar TStringGrid o TDBGrid dependerá de cada situación.
saludos tor
_________________
Un experto es aquel que ya ha cometido todos los errores posibles en una materia muy concreta.
(Niels Bohr)
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.