Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   DBGrid en varias sesiones (https://www.clubdelphi.com/foros/showthread.php?t=49851)

Fenareth 31-10-2007 22:28:57

DBGrid en varias sesiones
 
Hola a todos, éste es mi primer post en el foro así que a ver cómo nos va...:o

Tengo un problema con una aplicación en donde uso un DBGrid para insertar movimientos a una orden de trabajo.

Ese DBGrid está direccionado no a la tabla de movimientos principal, si no a una tabla auxiliar que después de que se graba y de que pasa sus movimientos a la tabla de movimientos, se borra.

Esta tabla auxiliar la uso para que cuando se decide insertar un nuevo registro, el DBGrid aparezca en blanco y no me muestre todos los movimientos ya capturados.

Mi problema se da cuando dos usuarios intentan crear un nuevo registro en dos terminales diferentes. A uno le aparece en el DBGrid todo lo que el otro ha ingresado, aún cuando el primero no ha grabado los movimientos en la tabla Auxiliar. He leído que cuando el DBGrid inserta una nueva fila, automáticamente se pasa la info a la tabla a la cuál está direccionado.

Intenté ya usar un StringGrid para no tener que direccionar pero no me da muchas opciones que sí maneja el DBGrid.

No sé como hacer para que no le aparezca a un usuario, lo que está ingresando el otro...

Muchas Gracias de Antemano por su ayuda !!! :)

Caral 31-10-2007 22:57:00

Hola
Bienvenido/a al club.
Para mi, Tabla temporal o auxiliar con campo usuario.
Saludos

HenryAraniva 01-11-2007 01:28:09

puedes probar utilizando la propiedad CachedUpdate del query que se conecta a la tabla temporal, hasta donde tengo entendio cuando esta propiedad esta activa los datos no se almacenan directamente en la tabla sino en la memoria, los datos son almacenados en la tabla cuando se ejecuta la sentencia ApplyUpdates... si te funciona me avisas así estaré seguro de que esa propiedad se comporta de esa manera...

Fenareth 01-11-2007 15:38:16

Gracias por responder :D... lo del cached update suena bien, probaré si funciona como en teoría debe de funcionar, creo que el único detalle es que la tabla debe de tener un campo llave (que en todo caso, es lo más sencillo del mundo) asi que lo insertaré a mi tabla, haré una prueba y les aviso...

Gracias de nuevo :)

Fenareth 07-11-2007 23:06:29

Hola de nuevo a todos,
Lo del CachedUpdate lo probé y funciona perfecto para una sola sesión (guarda los datos en la tabla ligada al DBGrid hasta que aplicamos el ApplyUpdates) pero para varios equipos me genera otro error... :(

Al parecer esa opción para grabar en tablas general automáticamente un archivo Del1.MB al iniciar la primera sesión (quiero creer que es un temporal en donde escribe antes de pasarlo a la tabla), pero al querer iniciar otra sesión me manda un error:

Exception EDBEngineError in module BilleteMateriales.exe at 000C8AAA
Share violation
File: \\miservidor\del1.mb
Table:\\miservidor\del1.mb
File or directory does not exist
File: \\miservidor\del1.db

En la última línea menciona la tabla del1.db (que para mi no existe) y estoy viendo que tiene que ver con el error que manda, pero significa que tengo que crear una tabla auxiliar con este nombre para que no genere el error ???

Muchas Gracias de antemano, :p

HenryAraniva 08-11-2007 02:10:26

y a todo esto... qué gestor de bases de datos estas utilizando? y como haces las conexion de los otros equipos?

Fenareth 08-11-2007 21:58:41

Estoy usando Paradox... y el detalle estaba en la propiedad localshare del servidor (estaba en false :mad:) y nomás por ese "pequeño e insignificante" detalle :D me generaba el error...

Ahora ya está funcionando bien con CachedUpdates y ApplyUpdates en todas las terminales...

Un saludote desde México y muchisimas gracias por su tiempo... :)

HenryAraniva 09-11-2007 01:21:59

ahhh que cosas verdad :rolleyes:, me alegra que ya todo te funcione bien, saludos...


La franja horaria es GMT +2. Ahora son las 20:34:48.

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