FoxPro/Visual FoxPro - Programa en red

 
Vista:

Programa en red

Publicado por Javier (33 intervenciones) el 19/02/2011 00:47:40
Buenas tardes: quisiera hacer una aplicacion en red, en el cual en un servidor se gurden los datos y que las demás PC's accedan a esos datos. Cada PC va a tener su ejecutable y van a tener una unidad de red para conectarse con el servidor.
Lo que me gustaria saber es como cargo las tablas en el entorno de datos; me dan error que no existe o que ya esta en uso.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Programa en red

Publicado por alberto (404 intervenciones) el 20/02/2011 01:42:24
en tu prg SET EXCLUSIVE OFF para poder trabajar las tablas varios usuarios a la vez
Abrir las tablas con la clausula shared , bloquear y desbloquear al momento de grabar , en el prg principal puedes poner el SET PATH TO \\SERVIDOR\C\CARPETADETABLAS para identificar el servidor , no usar el c:\ , solo identifica las carpetas con \sistema\datos por ejemplo
usar seccion privada de datos en el form y trata de usar todo en lo posible con cursores temporales para mostrar datos , eso agiliza mucho la velocidad en la red cuando las tablas son grandes.
estudia mucho el comando SET EXCLU OFF ES FUNDAMENTAL
no es complicada la cosa , solo empezar a probar , yo tengo muchos sistemas en red con mis clientes y todo anda bien, uso tablas nativas de fox , version 8
El servidor debe estar compartido ( fundamental ) disco C y poner la opcion que otros usiarios pueden acceder a el , sino no lograras trabajar en red, hay muchas cosas mas pero tienes para empezar , tranquilo que es algo simple la cosa
ejemplo de como grabar en una tabla
SELECT PEDIDOS
SET DELE ON
append blank
rlock()
repla nro with XX+1
repla nombre with xnombre
repla domicilio with xdomicilio
repla telefono with xtelefono
repla fecha with xfecha
repla hora with time()
repla total with dato2
repla estado with "EN PREPARACION"
tableupdate(.t.)
FLUSH()
UNLOCK ALL

ejemplo de como borrar datos
resp=messagebox("ELIMINAR EL PEDIDO IMPLICA QUE SE ACTUALIZA LA CAJA, Confirma la Eliminación del Pedido?",4+32,"Eliminación")
IF resp=6
select pedidos
QW=PEDIDOS.FECHA
PE=PEDIDOS.TOTAL
ll=pedidos.nro
set multilocks on
=CURSORSETPROP('Buffering', 3 )
Delete in pedidos
CURSORSETPROP("BUFFERING",5)


SELECT DETAPEDIDOS
set multilocks on
CURSORSETPROP("BUFFERING",3)

DELETE ALL FOR DETAPEDIDOS.NRO = ll and fecha = qw
CURSORSETPROP("BUFFERING",5)

SELECT CONTADO
SEEK DTOS(QW)
LOCATE REST FOR ALLTRIM(CONTADO.DETALLE) ="VENTA DELIVERY" .AND. CONTADO.CERRADA=.F.
IF FOUND()= .T.
REPLA IMPORTE WITH (IMPORTE-PE)
tableupdate(.t.)
FLUSH
ENDIF
select ventas1
set multilocks on
CURSORSETPROP("BUFFERING",3)

delete in ventas1 for numorden = ll and fec_venta = qw
CURSORSETPROP("BUFFERING",5)

SELECT PEDIDOS
ENDIF
thisform.refresh

es bueno usar las tablas con buffering en 5 y usar tableupdate(.t.) mas el comando flush para asegurar el grabado de datos en red.
BUENO ESPERO AYUDAR EN ALGO Y SUERTE
SALUDOS Y CUALQUIER DUDA ME COMENTAS ......
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar