Base de datos en red
Buen día! ¿Cómo te va? Mi nombre es Ricardo Valle. Actualmente acabo de finalizar el desarrollo de un programa de base de datos para una red de 30 maquinas. El programa es sencillo, el usuario ingresa su nombre y contraseña, luego carga el pedido y lo envía para que sea impreso en la impresora de red, quedando cada pedido guardado en una tabla (pedidos_reparaciones).
Mi duda es la siguiente. Yo no he usado ningún tipo de buffer para hacer este programa. El formulario de carga de datos lo creé como un formulario independiente, por lo cual cada vez que se produce el lostfocus de alguno de sus textbox, me guarda el value de dicho textbox en una variable de memoria y finalmente, cuando el usuario hace click en "enviar pedido", abro la tabla en modo exclusivo, hago el append blank y el replace y la vuelvo a cerrar. Mi idea era que la tabla este abierta la menor cantidad de tiempo posible para evitar que surja un error (si 2 usuarios hacen click en enviar desde 2 terminales distintos simultáneamente). Sin embargo estuve revisando la web y vi que la mayoría de los programadores utilizan buffers y no logro entender porque.
¿Los buffers se usan para formularios vinculados a la tabla?, o sea, ¿en los que cada textbox del form tiene como origen de datos los campos de la tabla? O yo me he equivocado y debo utilizar buffer en mi programa, ¿aun cuándo mi formulario usa variables de memoria y no los campos de la tabla directamente?
Otra pregunta : La posibilidad de que dos usuarios hagan click en el mismo instante, si bien es remota, existe, por lo cual me gustaría saber como hacer para que si eso sucediera, visual fox espere unos segundos y luego repita el proceso. ¿Debo usar el comando onerror() para definir que debe hacer VFP si 2 usuarios hacen click al mismo tiempo?
Bueno, espero que puedas aclararme un poquito estas dudas. Desde ya te agradezco muchísimo por leer mi pregunta. Saludos cordiales. Ricardo Valle
Mi duda es la siguiente. Yo no he usado ningún tipo de buffer para hacer este programa. El formulario de carga de datos lo creé como un formulario independiente, por lo cual cada vez que se produce el lostfocus de alguno de sus textbox, me guarda el value de dicho textbox en una variable de memoria y finalmente, cuando el usuario hace click en "enviar pedido", abro la tabla en modo exclusivo, hago el append blank y el replace y la vuelvo a cerrar. Mi idea era que la tabla este abierta la menor cantidad de tiempo posible para evitar que surja un error (si 2 usuarios hacen click en enviar desde 2 terminales distintos simultáneamente). Sin embargo estuve revisando la web y vi que la mayoría de los programadores utilizan buffers y no logro entender porque.
¿Los buffers se usan para formularios vinculados a la tabla?, o sea, ¿en los que cada textbox del form tiene como origen de datos los campos de la tabla? O yo me he equivocado y debo utilizar buffer en mi programa, ¿aun cuándo mi formulario usa variables de memoria y no los campos de la tabla directamente?
Otra pregunta : La posibilidad de que dos usuarios hagan click en el mismo instante, si bien es remota, existe, por lo cual me gustaría saber como hacer para que si eso sucediera, visual fox espere unos segundos y luego repita el proceso. ¿Debo usar el comando onerror() para definir que debe hacer VFP si 2 usuarios hacen click al mismo tiempo?
Bueno, espero que puedas aclararme un poquito estas dudas. Desde ya te agradezco muchísimo por leer mi pregunta. Saludos cordiales. Ricardo Valle
1 respuesta
Respuesta de Alonso Jarrín Solís
1