Multiusuario
Publicado por Pablo (16 intervenciones) el 29/07/2005 14:14:54
Hola foro, estoy trabajando con 2 form de alta y modificaciones de productos en red:
1. la tabla productos se definen buffers=5, en entorno de datos (exclusive=.F.
2. en load del form: set exclusive off, set multilocks on
3. luego de cargar los campos del formulario, click en boton grabar y genero el registro así: (recordemos ke puedo estar haciendo lo mismo en 2 pcs al mismo tiempo)
SELECT producto
* capturo el ultimo codigo grabado, ya ke se codifica automáticamente numericamente en orden ascendente
SELECT MAX(codigo) as cod FROM producto INTO CURSOR ultimo
* debo preveer ke no se grabe el mismo codigo 2 veces, ya ke la otra pc puede estar haciendo esto tambien en este instante.
STORE ultimo.cod+1 TO newcod
SELECT producto
APPEND BLANK
IF RLOCK()
REPLACE codigo WITH newcod
REPLACE nombre WITH THISFORM.pag.paltarubo.nombreproducto.value
=TABLEUPDATE(.t.)
flush
UNLOCK
else
MESSAGEBOX("No se grabaron los datos",0,"Error!!!")
Endi
¿ESTA BIEN ASI?,¿ES LA MEJOR FORMA?, COMO PUEDO MEJORARLO O COMO SE USARIA BEGIN TRANSACTION Y END TRANSACTION EN ESTE CASO?.como sería en caso de una modificación?
MUCHAS GRACIAS
1. la tabla productos se definen buffers=5, en entorno de datos (exclusive=.F.
2. en load del form: set exclusive off, set multilocks on
3. luego de cargar los campos del formulario, click en boton grabar y genero el registro así: (recordemos ke puedo estar haciendo lo mismo en 2 pcs al mismo tiempo)
SELECT producto
* capturo el ultimo codigo grabado, ya ke se codifica automáticamente numericamente en orden ascendente
SELECT MAX(codigo) as cod FROM producto INTO CURSOR ultimo
* debo preveer ke no se grabe el mismo codigo 2 veces, ya ke la otra pc puede estar haciendo esto tambien en este instante.
STORE ultimo.cod+1 TO newcod
SELECT producto
APPEND BLANK
IF RLOCK()
REPLACE codigo WITH newcod
REPLACE nombre WITH THISFORM.pag.paltarubo.nombreproducto.value
=TABLEUPDATE(.t.)
flush
UNLOCK
else
MESSAGEBOX("No se grabaron los datos",0,"Error!!!")
Endi
¿ESTA BIEN ASI?,¿ES LA MEJOR FORMA?, COMO PUEDO MEJORARLO O COMO SE USARIA BEGIN TRANSACTION Y END TRANSACTION EN ESTE CASO?.como sería en caso de una modificación?
MUCHAS GRACIAS
Valora esta pregunta
0