Sigo con MySql,
va el problema, se presente con algunos registros.
tengo una tabla MySql remota
pero hago la captura de la partida en una tabla DBF local, ya que el usuario confirma que desea guardar la informacion hago la conexion a la tabla remota y le empiezo a guardar los datos.
pero en algunas ocaciones me marca que no puede agregar el registro, esto es cuando mi tabla local tiene 10-20 registros, puedo llegar a perder hasta 3.
la solucion que encontre fue hacer un msgWait entre cada registro y parece que dejaron de perderse, mi pregunta es: esto es normal?, debo hacer una pausa para que actualize la tabla de MySql Remota?
este es el codigo
Code: Select all
static function GuardaCompra(nProveedor, cFactura, dFecha, nImporte, nIva)
local oMovtos := oMysql:Query( "SELECT * FROM compmovs")
compra->( dbgotop())
compra->( dbgotop())
do while !compra->( eof())
oMovtos:fieldput('proveedor', nProveedor)
oMovtos:fieldput('factura', cFactura)
oMovtos:fieldput('fecha', dFecha)
oMovtos:fieldput('codigo', compra->Codigo)
oMovtos:fieldput('cantidad', compra->Cantidad)
oMovtos:fieldput('precio', compra->precio)
oMovtos:fieldput('importe', compra->importe)
if !oMovtos:Append()
msginfo('Problemas para agregar registros', compra->Codigo)
else
//msginfo('Registro Agregado0', compra->Codigo)
endif
msgWait('Guardando la compra','Espera por favor ...',1)
compra->( dbskip())
enddo
oMovtos:end()
oMovtos := NIL
SysRefresh()
oSql:refresh()
oBrw:refresh()
return nil