FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#21
|
||||
|
||||
Cita:
y si es un registro grande, que el usuario se ha tomado media hora para modificarlo, luego le informas que todo su trabajo se ha ido al garete...
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO |
#22
|
||||
|
||||
Son registros pequeños, con unos pocos campos ¿te parece mal la idea?
|
#23
|
||||
|
||||
Que me va a parecer mal....
Pero al márgen del refresco de la tabla y bajo esas circunstancias, no te cuesta ningún trabajo meter un evento antes de modificar y que ese evento verifique que efectivamente ese registro existe en verdad. Desde ese evento haces un pequeño Query preguntando Select registro Where ID = al que el usuario quiere modificar Si existe, procedes si no existe le avisas y refrescas...
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO |
#24
|
||||
|
||||
Entonces Ardilla, si te entiendo bien, sugieres que ademas de capturar el error realice una comprobacion antes de empezar para que el usuario no trabaje de mas ¿correcto?
|
#25
|
||||
|
||||
Por cierto, ya sería mucha casualidad que el servicio borrara el registro que el usuario está modificando, no ?
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO |
#26
|
||||
|
||||
Cita:
Que te asegures que el registro a modificar, existe en la BD
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO |
#27
|
||||
|
||||
Yo también me inclino por comprobar antes si se ha modificado/eliminado el registro.
El post_event, en según qué condiciones, puede ser contraproducente. Edito: Tendrás que "ver" qué hay en el registro antes de editarlo por el usuario, por si se ha modificado, En caso de haberlo borrado el "otro" programa, no hay problema, dará error al intentar borrar algo que no existe, cuestión de controlarlo en un típico try except y presentarle el mensaje oportuno.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código Únete al grupo Teaming clubdelphi | Colabora mediante Paypal Última edición por Casimiro Notevi fecha: 26-09-2007 a las 19:32:50. |
#28
|
||||
|
||||
Bueno, si nadie tiene objeciones lo voy a montar así:
- El usuario indica que quiere modificar un registro. - Compruebo los cambios en el registro, y si ha cambiado aviso al usuario. - Actualizo el registro. - Capturo los posibles errores, y si se producen, actualizo y le indico al usuario que lo vuelva a intentar. Muchas gracias a todos |
#29
|
||||
|
||||
Hola
Pregunto IB, no permite transacciones? En ese orden. Solo pregunto, porque cuando se hacen este tipo de cosas, se pueden perder datos, me parece. Saludos |
#30
|
||||
|
||||
Se me ocurre que podrían abrirse las tablas con la propiedad Exclusive = True, mantenerlas cerradas y abrirlas solo cuando se vayan a modificar. Entonces el programa que no tiene prioridad para modificar las tablas (no sé cual de los 2 es) primero comprueba si ya están usándose, y si es así intenta más tarde, cuando el que tiene prioridad haya terminado de hacer los cambios y haya cerrado las tablas.
|
#31
|
||||
|
||||
Cita:
En nuestro caso, utilizamos un par de campos extra en la tabla para comprobar los cambios. TimeStamp y UserUpdate, que permiten saber si se ha modificado desde la última lectura y quien lo ha hecho. Realizamos la consulta antes de actualizar para comprbar si los valores de memoria son iguales a los de la tabla. Lectura y actualización en la misma transacción. Creo que algo habíamos hablado aquí, aquí y aquí.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#32
|
||||
|
||||
De ningún modo, como ya dije, en estas labores soy un novato y cuantas mas opiniones tenga de gente con experiencia mejor.
El problema mas grave era que el servicio borraba registros, y el usuario no lo sabia e intentaba modificarlos. Así que ahora antes de modificar nada, compruebo que el registro sigue ahí (de hecho actualizo los datos), y parece que con eso es suficiente por ahora. Muchas gracias |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
modificar un mismo registro en varias tablas | kryna | Conexión con bases de datos | 1 | 18-03-2005 16:00:34 |
2 Usuarios Sobre El Mismo Registro | AGAG4 | Conexión con bases de datos | 5 | 06-09-2004 16:47:36 |
Usando el mismo Registro | AGAG4 | SQL | 0 | 17-08-2004 20:33:42 |
Dos aplicaciones usando el mismo puerto | DarkByte | Internet | 6 | 28-06-2004 16:40:52 |
repetir el mismo registro | empty | Impresión | 3 | 13-04-2004 16:54:19 |
|