Saludos el hecho esta que tengo un timer chequeando si hay nuevos registros
en una tabla cada 10 segundo y realiza un DataSourse:Execute( SELECT... ) y
a la vez en el mismo formulario tengo un dbbrowse que cuando se ejecuta su
on change realiza tambien un DataSourse:Execute( SELECT... ). El error es
muy esporadico solo cuando coincide el tiempo del timer y se esjecyta su
evento y cuando se ejetuta el onchange del browse a la vez aparentemente es
xq el datasource esta ocupado en ese momento y no puede realizar el
EXECUTE.. Ahora... ¿Hay una manera de saber si el datasouce esta ocupado en
ese momento para que no me de un error en runtime?
El Msj es el Siguiente.... ---->
Subsistema: MySQL
Código de error: -1
Estado: .T.
Descripción: Commands out of sync; you can't run this command now
Operación: OFRMFACFACTURACION:DBBROWSE_SERVICIOCHANGE
Argumentos: [ 1] = Tipo: C Valor: SELECT SUM(Cantidad) AS Cantidad
FROM TmpItems WHERE Compania = '01' AND Mesa ='CAJA 1' AND Confirmado = '1'
Fichero:
Código error SO: 0
Gracias de Antemano...!
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
MySQL DataSource Ocupado
-
- Mensajes: 148
- Registrado: Mar Dic 18, 2007 4:39 pm
MySQL DataSource Ocupado
Diego,
> EXECUTE.. Ahora... ¿Hay una manera de saber si el datasouce esta ocupado en
> ese momento para que no me de un error en runtime?
Lo mejor sería que utilices un semáforo para evitar el error.
Puedes añadir una DATA lDSBusy en tu formulario y dentro del método que
invoca el Timer ponerlo a .T. hasta que termine la carga de datos y lo
vuelva a poner a .F. En el evento OnChange comprueba que si está a .T. no
haga nada y espere a la próxima actualización de datos.
Saludos,
José Lalín
> EXECUTE.. Ahora... ¿Hay una manera de saber si el datasouce esta ocupado en
> ese momento para que no me de un error en runtime?
Lo mejor sería que utilices un semáforo para evitar el error.
Puedes añadir una DATA lDSBusy en tu formulario y dentro del método que
invoca el Timer ponerlo a .T. hasta que termine la carga de datos y lo
vuelva a poner a .F. En el evento OnChange comprueba que si está a .T. no
haga nada y espere a la próxima actualización de datos.
Saludos,
José Lalín
-
- Mensajes: 148
- Registrado: Mar Dic 18, 2007 4:39 pm
MySQL DataSource Ocupado
Gracias lo Implementare...!!!!
"José Lalín" <notengo@correo.com> escribió en el mensaje
news:496d0cd4$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>
> Diego,
>
>> EXECUTE.. Ahora... ¿Hay una manera de saber si el datasouce esta ocupado
>> en ese momento para que no me de un error en runtime?
>
> Lo mejor sería que utilices un semáforo para evitar el error.
>
> Puedes añadir una DATA lDSBusy en tu formulario y dentro del método que
> invoca el Timer ponerlo a .T. hasta que termine la carga de datos y lo
> vuelva a poner a .F. En el evento OnChange comprueba que si está a .T. no
> haga nada y espere a la próxima actualización de datos.
>
> Saludos,
> José Lalín
"José Lalín" <notengo@correo.com> escribió en el mensaje
news:496d0cd4$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>
> Diego,
>
>> EXECUTE.. Ahora... ¿Hay una manera de saber si el datasouce esta ocupado
>> en ese momento para que no me de un error en runtime?
>
> Lo mejor sería que utilices un semáforo para evitar el error.
>
> Puedes añadir una DATA lDSBusy en tu formulario y dentro del método que
> invoca el Timer ponerlo a .T. hasta que termine la carga de datos y lo
> vuelva a poner a .F. En el evento OnChange comprueba que si está a .T. no
> haga nada y espere a la próxima actualización de datos.
>
> Saludos,
> José Lalín