Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2008-11

SQLQuery Refresh

11 messages · 5 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Usuario Anónimo
to Markisich Emiliano

�Puedes poner un ejemplo de refresh? �Para que sirve? �Te refieres a un refetch data?

Saludos.

2008/11/11 Markisich Emiliano <markisoft en yahoo.com.ar>

Show quoted text 9 lines
Hola, � me podrian explicar como hacer un refresh con este componente? si es que funciona. Gracias!! _______________________________________________ Lazarus-es mailing list Lazarus-es en lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20081111/4f4c86d5/attachment.html>

Reply by email

Usuario Anónimo
to Markisich Emiliano: tengo dos ventanas una de listado y otra que se abre para dar un ALTA, cada ventana tiene…

�Has probado con SQLQuery1.Refresh;?

2008/11/11 Markisich Emiliano <markisoft en yahoo.com.ar>

Show quoted text 54 lines
tengo dos ventanas una de listado y otra que se abre para dar un ALTA, cada ventana tiene su transaccion. el problema es que cuando doy de alta un registro no se actualiza en la ventana de listado, para esto en delphi hacia un refresh en la query del listado esto lo puedo solucionar desactivando y volviendo a activar el query pero en la ventana desaparecen los datos y vuelven a aparecer, queda feo y ademas pierdo el registro seleccionado porque vuelve el puntero al primer registro. �se entiende? sqListado.Refresh; Saludos Usuario An�nimo escribi�: > > �Puedes poner un ejemplo de refresh? �Para que sirve? �Te refieres a > un refetch data? > > Saludos. > > > 2008/11/11 Markisich Emiliano <markisoft en yahoo.com.ar > <mailto:markisoft en yahoo.com.ar>> > > Hola, � me podrian explicar como hacer un refresh con este componente? > si es que funciona. > > Gracias!! > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lazarus.freepascal.org > <mailto:Lazarus-es en lazarus.freepascal.org> > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > ------------------------------------------------------------------------ > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lazarus.freepascal.org > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > _______________________________________________ Lazarus-es mailing list Lazarus-es en lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20081111/f418c4ef/attachment.html>

Reply by email

Usuario Anónimo
to Markisich Emiliano: Si pero no lo actualiza por eso preguntaba si hay que hacer algo mas, aparte de…

No lo se, a ver si alguien nos saca de dudas.

Saludos.

El 11 de noviembre de 2008 18:14, Markisich Emiliano <markisoft en yahoo.com.ar

Show quoted text 91 lines
escribi�: Si pero no lo actualiza por eso preguntaba si hay que hacer algo mas, aparte de SQLQuery1.Refresh Usuario An�nimo escribi�: > �Has probado con SQLQuery1.Refresh;? > > 2008/11/11 Markisich Emiliano <markisoft en yahoo.com.ar > <mailto:markisoft en yahoo.com.ar>> > > tengo dos ventanas una de listado y otra que se abre para dar un ALTA, > cada ventana tiene su transaccion. > el problema es que cuando doy de alta un registro no se actualiza > en la > ventana de listado, para esto en delphi hacia un refresh en la > query del > listado > > esto lo puedo solucionar desactivando y volviendo a activar el query > pero en la ventana desaparecen los datos y vuelven a aparecer, > queda feo > y ademas pierdo el registro seleccionado porque vuelve el puntero al > primer registro. > > �se entiende? > > sqListado.Refresh; > > > Saludos > > Usuario An�nimo escribi�: > > > > �Puedes poner un ejemplo de refresh? �Para que sirve? �Te refieres a > > un refetch data? > > > > Saludos. > > > > > > 2008/11/11 Markisich Emiliano <markisoft en yahoo.com.ar > <mailto:markisoft en yahoo.com.ar> > > <mailto:markisoft en yahoo.com.ar <mailto:markisoft en yahoo.com.ar>>> > > > > Hola, � me podrian explicar como hacer un refresh con este > componente? > > si es que funciona. > > > > Gracias!! > > _______________________________________________ > > Lazarus-es mailing list > > Lazarus-es en lazarus.freepascal.org > <mailto:Lazarus-es en lazarus.freepascal.org> > > <mailto:Lazarus-es en lazarus.freepascal.org > <mailto:Lazarus-es en lazarus.freepascal.org>> > > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > > > > ------------------------------------------------------------------------ > > > > _______________________________________________ > > Lazarus-es mailing list > > Lazarus-es en lazarus.freepascal.org > <mailto:Lazarus-es en lazarus.freepascal.org> > > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lazarus.freepascal.org > <mailto:Lazarus-es en lazarus.freepascal.org> > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > ------------------------------------------------------------------------ > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lazarus.freepascal.org > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > _______________________________________________ Lazarus-es mailing list Lazarus-es en lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20081111/0107d27f/attachment.html>

Reply by email

Markisich Emiliano
to Usuario Anónimo: �Puedes poner un ejemplo de refresh? �Para que sirve? �Te refieres a un refetch…

tengo dos ventanas una de listado y otra que se abre para dar un ALTA, cada ventana tiene su transaccion.
el problema es que cuando doy de alta un registro no se actualiza en la ventana de listado, para esto en delphi hacia un refresh en la query del listado

esto lo puedo solucionar desactivando y volviendo a activar el query pero en la ventana desaparecen los datos y vuelven a aparecer, queda feo y ademas pierdo el registro seleccionado porque vuelve el puntero al primer registro.

�se entiende?

  sqListado.Refresh;

Saludos

Usuario An�nimo escribi�:

Show quoted text 28 lines
�Puedes poner un ejemplo de refresh? �Para que sirve? �Te refieres a un refetch data? Saludos. 2008/11/11 Markisich Emiliano <markisoft en yahoo.com.ar <mailto:markisoft en yahoo.com.ar>> Hola, � me podrian explicar como hacer un refresh con este componente? si es que funciona. Gracias!! _______________________________________________ Lazarus-es mailing list Lazarus-es en lazarus.freepascal.org <mailto:Lazarus-es en lazarus.freepascal.org> http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es ------------------------------------------------------------------------ _______________________________________________ Lazarus-es mailing list Lazarus-es en lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Reply by email

Markisich Emiliano
to Usuario Anónimo: �Has probado con SQLQuery1.Refresh;? 2008/11/11 Markisich Emiliano <markisoft en…

Si pero no lo actualiza por eso preguntaba si hay que hacer algo mas, aparte de SQLQuery1.Refresh

Usuario An�nimo escribi�:

Show quoted text 76 lines
�Has probado con SQLQuery1.Refresh;? 2008/11/11 Markisich Emiliano <markisoft en yahoo.com.ar <mailto:markisoft en yahoo.com.ar>> tengo dos ventanas una de listado y otra que se abre para dar un ALTA, cada ventana tiene su transaccion. el problema es que cuando doy de alta un registro no se actualiza en la ventana de listado, para esto en delphi hacia un refresh en la query del listado esto lo puedo solucionar desactivando y volviendo a activar el query pero en la ventana desaparecen los datos y vuelven a aparecer, queda feo y ademas pierdo el registro seleccionado porque vuelve el puntero al primer registro. �se entiende? sqListado.Refresh; Saludos Usuario An�nimo escribi�: > > �Puedes poner un ejemplo de refresh? �Para que sirve? �Te refieres a > un refetch data? > > Saludos. > > > 2008/11/11 Markisich Emiliano <markisoft en yahoo.com.ar <mailto:markisoft en yahoo.com.ar> > <mailto:markisoft en yahoo.com.ar <mailto:markisoft en yahoo.com.ar>>> > > Hola, � me podrian explicar como hacer un refresh con este componente? > si es que funciona. > > Gracias!! > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lazarus.freepascal.org <mailto:Lazarus-es en lazarus.freepascal.org> > <mailto:Lazarus-es en lazarus.freepascal.org <mailto:Lazarus-es en lazarus.freepascal.org>> > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > ------------------------------------------------------------------------ > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lazarus.freepascal.org <mailto:Lazarus-es en lazarus.freepascal.org> > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > _______________________________________________ Lazarus-es mailing list Lazarus-es en lazarus.freepascal.org <mailto:Lazarus-es en lazarus.freepascal.org> http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es ------------------------------------------------------------------------ _______________________________________________ Lazarus-es mailing list Lazarus-es en lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Reply by email

Tejero, Carlos German
to Usuario Anónimo: No lo se, a ver si alguien nos saca de dudas. Saludos. El 11 de noviembre de 2008 18:14,…

Si estas usando dos transacciones diferentes deberias chequear el isolation level que estas usando y si has comiteado la transaccion de modificacion antes de realizar el refresh de la de consulta. Saludos.

El mar, 11-11-2008 a las 17:41 +0100, Usuario An�nimo escribi�:

Show quoted text 117 lines
No lo se, a ver si alguien nos saca de dudas. Saludos. El 11 de noviembre de 2008 18:14, Markisich Emiliano <markisoft en yahoo.com.ar> escribi�: Si pero no lo actualiza por eso preguntaba si hay que hacer algo mas, aparte de SQLQuery1.Refresh Usuario An�nimo escribi�: > �Has probado con SQLQuery1.Refresh;? > > 2008/11/11 Markisich Emiliano <markisoft en yahoo.com.ar > <mailto:markisoft en yahoo.com.ar>> > > tengo dos ventanas una de listado y otra que se abre para dar un ALTA, > cada ventana tiene su transaccion. > el problema es que cuando doy de alta un registro no se actualiza > en la > ventana de listado, para esto en delphi hacia un refresh en la > query del > listado > > esto lo puedo solucionar desactivando y volviendo a activar el query > pero en la ventana desaparecen los datos y vuelven a aparecer, > queda feo > y ademas pierdo el registro seleccionado porque vuelve el puntero al > primer registro. > > �se entiende? > > sqListado.Refresh; > > > Saludos > > Usuario An�nimo escribi�: > > > > �Puedes poner un ejemplo de refresh? �Para que sirve? �Te refieres a > > un refetch data? > > > > Saludos. > > > > > > 2008/11/11 Markisich Emiliano <markisoft en yahoo.com.ar > <mailto:markisoft en yahoo.com.ar> > > <mailto:markisoft en yahoo.com.ar <mailto:markisoft en yahoo.com.ar>>> > > > > Hola, � me podrian explicar como hacer un refresh con este > componente? > > si es que funciona. > > > > Gracias!! > > _______________________________________________ > > Lazarus-es mailing list > > Lazarus-es en lazarus.freepascal.org > <mailto:Lazarus-es en lazarus.freepascal.org> > > <mailto:Lazarus-es en lazarus.freepascal.org > <mailto:Lazarus-es en lazarus.freepascal.org>> > > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > > > > ------------------------------------------------------------------------ > > > > _______________________________________________ > > Lazarus-es mailing list > > Lazarus-es en lazarus.freepascal.org > <mailto:Lazarus-es en lazarus.freepascal.org> > > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lazarus.freepascal.org > <mailto:Lazarus-es en lazarus.freepascal.org> > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > ------------------------------------------------------------------------ > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lazarus.freepascal.org > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > _______________________________________________ Lazarus-es mailing list Lazarus-es en lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Reply by email

Usuario Anónimo
to Tejero, Carlos German

�Lo puedes ilustrar con un ejemplo?

Gracias.

El 11 de noviembre de 2008 19:08, Tejero, Carlos German < german.tejero en gmail.com> escribi�:

Show quoted text 131 lines
Si estas usando dos transacciones diferentes deberias chequear el isolation level que estas usando y si has comiteado la transaccion de modificacion antes de realizar el refresh de la de consulta. Saludos. El mar, 11-11-2008 a las 17:41 +0100, Usuario An�nimo escribi�: > No lo se, a ver si alguien nos saca de dudas. > > Saludos. > > > > El 11 de noviembre de 2008 18:14, Markisich Emiliano > <markisoft en yahoo.com.ar> escribi�: > Si pero no lo actualiza por eso preguntaba si hay que hacer > algo mas, > aparte de SQLQuery1.Refresh > > Usuario An�nimo escribi�: > > �Has probado con SQLQuery1.Refresh;? > > > > 2008/11/11 Markisich Emiliano <markisoft en yahoo.com.ar > > > <mailto:markisoft en yahoo.com.ar>> > > > > tengo dos ventanas una de listado y otra que se abre > para dar un ALTA, > > cada ventana tiene su transaccion. > > el problema es que cuando doy de alta un registro no se > actualiza > > en la > > ventana de listado, para esto en delphi hacia un refresh > en la > > query del > > listado > > > > esto lo puedo solucionar desactivando y volviendo a > activar el query > > pero en la ventana desaparecen los datos y vuelven a > aparecer, > > queda feo > > y ademas pierdo el registro seleccionado porque vuelve > el puntero al > > primer registro. > > > > �se entiende? > > > > sqListado.Refresh; > > > > > > Saludos > > > > Usuario An�nimo escribi�: > > > > > > �Puedes poner un ejemplo de refresh? �Para que sirve? > �Te refieres a > > > un refetch data? > > > > > > Saludos. > > > > > > > > > 2008/11/11 Markisich Emiliano <markisoft en yahoo.com.ar > > <mailto:markisoft en yahoo.com.ar> > > > > <mailto:markisoft en yahoo.com.ar > <mailto:markisoft en yahoo.com.ar>>> > > > > > > Hola, � me podrian explicar como hacer un refresh > con este > > componente? > > > si es que funciona. > > > > > > Gracias!! > > > _______________________________________________ > > > Lazarus-es mailing list > > > Lazarus-es en lazarus.freepascal.org > > <mailto:Lazarus-es en lazarus.freepascal.org> > > > <mailto:Lazarus-es en lazarus.freepascal.org > > <mailto:Lazarus-es en lazarus.freepascal.org>> > > > > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > > > > > > > > > ------------------------------------------------------------------------ > > > > > > _______________________________________________ > > > Lazarus-es mailing list > > > Lazarus-es en lazarus.freepascal.org > > <mailto:Lazarus-es en lazarus.freepascal.org> > > > > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > > > > _______________________________________________ > > Lazarus-es mailing list > > Lazarus-es en lazarus.freepascal.org > > <mailto:Lazarus-es en lazarus.freepascal.org> > > > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > > > > ------------------------------------------------------------------------ > > > > _______________________________________________ > > Lazarus-es mailing list > > Lazarus-es en lazarus.freepascal.org > > > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lazarus.freepascal.org > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lazarus.freepascal.org > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es

------------ pr�xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20081111/5855c341/attachment.html>

Reply by email

Carlos German Tejero
to Usuario Anónimo

A ver si pudeo.
Las transacciones en los motores de base de datos deben cumplir con ACID: A: Atomicidad, o sea que una transaccion se debe completar todo o deshacer toda, no pueden quedar cosas a medias.
C: Concurrencia, se deben poder ejecutar mas de una transaccion concurrentemente.
I: Isolation o aislamiento, una transaccion no debe interferir con la otra. D: Durabilidad, cuando una transaccion se compremote, los cambios son persistentes.

Ahora, el aislamiento entre transacciones (isolation) es configurable, el standard de SQL define 4 isolations level, y en la mayoria de los motores implementan solo algunos de esos. Incluso algunos de forma diferente. Loa cuatro tipo de isolation son READ COMMITTED, DIRTY READ, REPETEABLE READ y el cuarto no lo recuerdo.

El tema es que, por ejemplo si usas READ COMMITTED, una transaccion no ve los cambios hechos por otra, hasta que esta no los halla comprometido.

entonces en la transaccion 1 se hace un insert, en la tabla persona:
INSERT INTO PERSONA VALUES("german");

si la transaccion 2 realiza un select de la tabla persona, no va a ver el registro de german:
SELECT * FROM PERSONA;

recien cuando la transaccion 1 haya realizado el COMMIT, la transaccion podra ver el registro. Tambien debes tener cuidado con motores como Firebird ya quefunciona algo diferente a otros motores. En motores como PostgreSQL, MySQL, SQLite funcionan de forma standard y solo se inicia una transaccion de forma explicita con START TRANSACCION. En cambio en Firebird siempre se inicia una transaccion de forma implicita quieras o no. Espero que algo de lo que dije sirva, igual deberias leer la doc de tu motor de base de datos, ya que cada uno es un mundito aparte. Saludos.

2008/11/11 Usuario An�nimo <usuarioanonimomysql en gmail.com>

Show quoted text 147 lines
�Lo puedes ilustrar con un ejemplo? Gracias. El 11 de noviembre de 2008 19:08, Tejero, Carlos German < german.tejero en gmail.com> escribi�: > Si estas usando dos transacciones diferentes deberias chequear el > isolation level que estas usando y si has comiteado la transaccion de > modificacion antes de realizar el refresh de la de consulta. > Saludos. > > El mar, 11-11-2008 a las 17:41 +0100, Usuario An�nimo escribi�: > > > No lo se, a ver si alguien nos saca de dudas. > > > > Saludos. > > > > > > > > El 11 de noviembre de 2008 18:14, Markisich Emiliano > > <markisoft en yahoo.com.ar> escribi�: > > Si pero no lo actualiza por eso preguntaba si hay que hacer > > algo mas, > > aparte de SQLQuery1.Refresh > > > > Usuario An�nimo escribi�: > > > �Has probado con SQLQuery1.Refresh;? > > > > > > 2008/11/11 Markisich Emiliano <markisoft en yahoo.com.ar > > > > > <mailto:markisoft en yahoo.com.ar>> > > > > > > tengo dos ventanas una de listado y otra que se abre > > para dar un ALTA, > > > cada ventana tiene su transaccion. > > > el problema es que cuando doy de alta un registro no se > > actualiza > > > en la > > > ventana de listado, para esto en delphi hacia un refresh > > en la > > > query del > > > listado > > > > > > esto lo puedo solucionar desactivando y volviendo a > > activar el query > > > pero en la ventana desaparecen los datos y vuelven a > > aparecer, > > > queda feo > > > y ademas pierdo el registro seleccionado porque vuelve > > el puntero al > > > primer registro. > > > > > > �se entiende? > > > > > > sqListado.Refresh; > > > > > > > > > Saludos > > > > > > Usuario An�nimo escribi�: > > > > > > > > �Puedes poner un ejemplo de refresh? �Para que sirve? > > �Te refieres a > > > > un refetch data? > > > > > > > > Saludos. > > > > > > > > > > > > 2008/11/11 Markisich Emiliano <markisoft en yahoo.com.ar > > > <mailto:markisoft en yahoo.com.ar> > > > > > > <mailto:markisoft en yahoo.com.ar > > <mailto:markisoft en yahoo.com.ar>>> > > > > > > > > Hola, � me podrian explicar como hacer un refresh > > con este > > > componente? > > > > si es que funciona. > > > > > > > > Gracias!! > > > > _______________________________________________ > > > > Lazarus-es mailing list > > > > Lazarus-es en lazarus.freepascal.org > > > <mailto:Lazarus-es en lazarus.freepascal.org> > > > > <mailto:Lazarus-es en lazarus.freepascal.org > > > <mailto:Lazarus-es en lazarus.freepascal.org>> > > > > > > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------ > > > > > > > > _______________________________________________ > > > > Lazarus-es mailing list > > > > Lazarus-es en lazarus.freepascal.org > > > <mailto:Lazarus-es en lazarus.freepascal.org> > > > > > > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > > > > > > > _______________________________________________ > > > Lazarus-es mailing list > > > Lazarus-es en lazarus.freepascal.org > > > <mailto:Lazarus-es en lazarus.freepascal.org> > > > > > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > > > > > > > > > ------------------------------------------------------------------------ > > > > > > _______________________________________________ > > > Lazarus-es mailing list > > > Lazarus-es en lazarus.freepascal.org > > > > > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > > > > _______________________________________________ > > Lazarus-es mailing list > > Lazarus-es en lazarus.freepascal.org > > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > > > _______________________________________________ > > Lazarus-es mailing list > > Lazarus-es en lazarus.freepascal.org > > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lazarus.freepascal.org > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > _______________________________________________ Lazarus-es mailing list Lazarus-es en lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es
Carlos Germ�n Tejero ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20081111/95ea50ec/attachment.html>

Reply by email

Fredy Gonzales
to Carlos German Tejero

Bueno,

Yo tuve un problema parecido con ZeosDB, cuando grababa en otra ventana y volvia al formulario principal donde estaba el grid, no me mostraba el ingreso, lo primero que hize despues de la grabacion era aplicar el ApplyUpdate con lo cual el ingreso era aplicado y se podia ver sin ningun problema en el grid del formulario principal. Luego me di cuenta que la propiedad AutoCommit en el componente de la base de datos estaba en Falso, al cambiarlo a Verdadero, ya no necesite del ApplyUpdate.

En tu componente SLQdb, no veo el Autocommit, pero en el SQLQuery si veo el procedimiento ApplyUpdates.

Pruebalo y nos comentas.

FG

Earlier message 168 lines
----- Original Message ----- From: Carlos German Tejero To: Spanish version of Lazarus List Sent: Tuesday, November 11, 2008 4:40 PM Subject: Re: [Lazarus-es] SQLQuery Refresh A ver si pudeo. Las transacciones en los motores de base de datos deben cumplir con ACID: A: Atomicidad, o sea que una transaccion se debe completar todo o deshacer toda, no pueden quedar cosas a medias. C: Concurrencia, se deben poder ejecutar mas de una transaccion concurrentemente. I: Isolation o aislamiento, una transaccion no debe interferir con la otra. D: Durabilidad, cuando una transaccion se compremote, los cambios son persistentes. Ahora, el aislamiento entre transacciones (isolation) es configurable, el standard de SQL define 4 isolations level, y en la mayoria de los motores implementan solo algunos de esos. Incluso algunos de forma diferente. Loa cuatro tipo de isolation son READ COMMITTED, DIRTY READ, REPETEABLE READ y el cuarto no lo recuerdo. El tema es que, por ejemplo si usas READ COMMITTED, una transaccion no ve los cambios hechos por otra, hasta que esta no los halla comprometido. entonces en la transaccion 1 se hace un insert, en la tabla persona: INSERT INTO PERSONA VALUES("german"); si la transaccion 2 realiza un select de la tabla persona, no va a ver el registro de german: SELECT * FROM PERSONA; recien cuando la transaccion 1 haya realizado el COMMIT, la transaccion podra ver el registro. Tambien debes tener cuidado con motores como Firebird ya quefunciona algo diferente a otros motores. En motores como PostgreSQL, MySQL, SQLite funcionan de forma standard y solo se inicia una transaccion de forma explicita con START TRANSACCION. En cambio en Firebird siempre se inicia una transaccion de forma implicita quieras o no. Espero que algo de lo que dije sirva, igual deberias leer la doc de tu motor de base de datos, ya que cada uno es un mundito aparte. Saludos. 2008/11/11 Usuario An�nimo <usuarioanonimomysql en gmail.com> �Lo puedes ilustrar con un ejemplo? Gracias. El 11 de noviembre de 2008 19:08, Tejero, Carlos German <german.tejero en gmail.com> escribi�: Si estas usando dos transacciones diferentes deberias chequear el isolation level que estas usando y si has comiteado la transaccion de modificacion antes de realizar el refresh de la de consulta. Saludos. El mar, 11-11-2008 a las 17:41 +0100, Usuario An�nimo escribi�: > No lo se, a ver si alguien nos saca de dudas. > > Saludos. > > > > El 11 de noviembre de 2008 18:14, Markisich Emiliano > <markisoft en yahoo.com.ar> escribi�: > Si pero no lo actualiza por eso preguntaba si hay que hacer > algo mas, > aparte de SQLQuery1.Refresh > > Usuario An�nimo escribi�: > > �Has probado con SQLQuery1.Refresh;? > > > > 2008/11/11 Markisich Emiliano <markisoft en yahoo.com.ar > > > <mailto:markisoft en yahoo.com.ar>> > > > > tengo dos ventanas una de listado y otra que se abre > para dar un ALTA, > > cada ventana tiene su transaccion. > > el problema es que cuando doy de alta un registro no se > actualiza > > en la > > ventana de listado, para esto en delphi hacia un refresh > en la > > query del > > listado > > > > esto lo puedo solucionar desactivando y volviendo a > activar el query > > pero en la ventana desaparecen los datos y vuelven a > aparecer, > > queda feo > > y ademas pierdo el registro seleccionado porque vuelve > el puntero al > > primer registro. > > > > �se entiende? > > > > sqListado.Refresh; > > > > > > Saludos > > > > Usuario An�nimo escribi�: > > > > > > �Puedes poner un ejemplo de refresh? �Para que sirve? > �Te refieres a > > > un refetch data? > > > > > > Saludos. > > > > > > > > > 2008/11/11 Markisich Emiliano <markisoft en yahoo.com.ar > > <mailto:markisoft en yahoo.com.ar> > > > > <mailto:markisoft en yahoo.com.ar > <mailto:markisoft en yahoo.com.ar>>> > > > > > > Hola, � me podrian explicar como hacer un refresh > con este > > componente? > > > si es que funciona. > > > > > > Gracias!! > > > _______________________________________________ > > > Lazarus-es mailing list > > > Lazarus-es en lazarus.freepascal.org > > <mailto:Lazarus-es en lazarus.freepascal.org> > > > <mailto:Lazarus-es en lazarus.freepascal.org > > <mailto:Lazarus-es en lazarus.freepascal.org>> > > > > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > > > > > > > > > ------------------------------------------------------------------------ > > > > > > _______________________________________________ > > > Lazarus-es mailing list > > > Lazarus-es en lazarus.freepascal.org > > <mailto:Lazarus-es en lazarus.freepascal.org> > > > > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > > > > _______________________________________________ > > Lazarus-es mailing list > > Lazarus-es en lazarus.freepascal.org > > <mailto:Lazarus-es en lazarus.freepascal.org> > > > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > > > > ------------------------------------------------------------------------ > > > > _______________________________________________ > > Lazarus-es mailing list > > Lazarus-es en lazarus.freepascal.org > > > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lazarus.freepascal.org > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lazarus.freepascal.org > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Reply by email

Carlos German Tejero
to Fredy Gonzales

En realidad eso no es un problema. Funciona de esa manera:

Con SQLQuery.ApplyUpdates ennvias todos lo cambios pendientes al motor de base de datos, ya que las modificaciones se cachean.

Con SQLTransaction1.CommitRetaining o SQLTransaction1.Commit comprometes la transaccion. Debes tener en cuenta cual usar de acuerdo al motor de base de datos, por lo general se debe usar SQLTransaction1.CommitRetaining, es lo esperado en la mayoria de los casos.

Saludos.

2008/11/12 Fredy Gonzales <fredyg1965 en gmail.com>

Show quoted text 231 lines
Bueno, Yo tuve un problema parecido con ZeosDB, cuando grababa en otra ventana y volvia al formulario principal donde estaba el grid, no me mostraba el ingreso, lo primero que hize despues de la grabacion era aplicar el ApplyUpdate con lo cual el ingreso era aplicado y se podia ver sin ningun problema en el grid del formulario principal. Luego me di cuenta que la propiedad AutoCommit en el componente de la base de datos estaba en Falso, al cambiarlo a Verdadero, ya no necesite del ApplyUpdate. En tu componente SLQdb, no veo el Autocommit, pero en el SQLQuery si veo el procedimiento ApplyUpdates. Pruebalo y nos comentas. FG ----- Original Message ----- *From:* Carlos German Tejero <german_tejero en yahoo.com.ar> *To:* Spanish version of Lazarus List <lazarus-es en lazarus.freepascal.org> *Sent:* Tuesday, November 11, 2008 4:40 PM *Subject:* Re: [Lazarus-es] SQLQuery Refresh A ver si pudeo. Las transacciones en los motores de base de datos deben cumplir con ACID: A: Atomicidad, o sea que una transaccion se debe completar todo o deshacer toda, no pueden quedar cosas a medias. C: Concurrencia, se deben poder ejecutar mas de una transaccion concurrentemente. I: Isolation o aislamiento, una transaccion no debe interferir con la otra. D: Durabilidad, cuando una transaccion se compremote, los cambios son persistentes. Ahora, el aislamiento entre transacciones (isolation) es configurable, el standard de SQL define 4 isolations level, y en la mayoria de los motores implementan solo algunos de esos. Incluso algunos de forma diferente. Loa cuatro tipo de isolation son READ COMMITTED, DIRTY READ, REPETEABLE READ y el cuarto no lo recuerdo. El tema es que, por ejemplo si usas READ COMMITTED, una transaccion no ve los cambios hechos por otra, hasta que esta no los halla comprometido. entonces en la transaccion 1 se hace un insert, en la tabla persona: INSERT INTO PERSONA VALUES("german"); si la transaccion 2 realiza un select de la tabla persona, no va a ver el registro de german: SELECT * FROM PERSONA; recien cuando la transaccion 1 haya realizado el COMMIT, la transaccion podra ver el registro. Tambien debes tener cuidado con motores como Firebird ya quefunciona algo diferente a otros motores. En motores como PostgreSQL, MySQL, SQLite funcionan de forma standard y solo se inicia una transaccion de forma explicita con START TRANSACCION. En cambio en Firebird siempre se inicia una transaccion de forma implicita quieras o no. Espero que algo de lo que dije sirva, igual deberias leer la doc de tu motor de base de datos, ya que cada uno es un mundito aparte. Saludos. 2008/11/11 Usuario An�nimo <usuarioanonimomysql en gmail.com> > �Lo puedes ilustrar con un ejemplo? > > Gracias. > > El 11 de noviembre de 2008 19:08, Tejero, Carlos German < > german.tejero en gmail.com> escribi�: > >> Si estas usando dos transacciones diferentes deberias chequear el >> isolation level que estas usando y si has comiteado la transaccion de >> modificacion antes de realizar el refresh de la de consulta. >> Saludos. >> >> El mar, 11-11-2008 a las 17:41 +0100, Usuario An�nimo escribi�: >> >> > No lo se, a ver si alguien nos saca de dudas. >> > >> > Saludos. >> > >> > >> > >> > El 11 de noviembre de 2008 18:14, Markisich Emiliano >> > <markisoft en yahoo.com.ar> escribi�: >> > Si pero no lo actualiza por eso preguntaba si hay que hacer >> > algo mas, >> > aparte de SQLQuery1.Refresh >> > >> > Usuario An�nimo escribi�: >> > > �Has probado con SQLQuery1.Refresh;? >> > > >> > > 2008/11/11 Markisich Emiliano <markisoft en yahoo.com.ar >> > >> > > <mailto:markisoft en yahoo.com.ar>> >> > > >> > > tengo dos ventanas una de listado y otra que se abre >> > para dar un ALTA, >> > > cada ventana tiene su transaccion. >> > > el problema es que cuando doy de alta un registro no se >> > actualiza >> > > en la >> > > ventana de listado, para esto en delphi hacia un refresh >> > en la >> > > query del >> > > listado >> > > >> > > esto lo puedo solucionar desactivando y volviendo a >> > activar el query >> > > pero en la ventana desaparecen los datos y vuelven a >> > aparecer, >> > > queda feo >> > > y ademas pierdo el registro seleccionado porque vuelve >> > el puntero al >> > > primer registro. >> > > >> > > �se entiende? >> > > >> > > sqListado.Refresh; >> > > >> > > >> > > Saludos >> > > >> > > Usuario An�nimo escribi�: >> > > > >> > > > �Puedes poner un ejemplo de refresh? �Para que sirve? >> > �Te refieres a >> > > > un refetch data? >> > > > >> > > > Saludos. >> > > > >> > > > >> > > > 2008/11/11 Markisich Emiliano <markisoft en yahoo.com.ar >> > > <mailto:markisoft en yahoo.com.ar> >> > >> > > > <mailto:markisoft en yahoo.com.ar >> > <mailto:markisoft en yahoo.com.ar>>> >> > > > >> > > > Hola, � me podrian explicar como hacer un refresh >> > con este >> > > componente? >> > > > si es que funciona. >> > > > >> > > > Gracias!! >> > > > _______________________________________________ >> > > > Lazarus-es mailing list >> > > > Lazarus-es en lazarus.freepascal.org >> > > <mailto:Lazarus-es en lazarus.freepascal.org> >> > > > <mailto:Lazarus-es en lazarus.freepascal.org >> > > <mailto:Lazarus-es en lazarus.freepascal.org>> >> > > > >> > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> > > > >> > > > >> > > > >> > > >> > >> ------------------------------------------------------------------------ >> > > > >> > > > _______________________________________________ >> > > > Lazarus-es mailing list >> > > > Lazarus-es en lazarus.freepascal.org >> > > <mailto:Lazarus-es en lazarus.freepascal.org> >> > > > >> > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> > > > >> > > >> > > _______________________________________________ >> > > Lazarus-es mailing list >> > > Lazarus-es en lazarus.freepascal.org >> > > <mailto:Lazarus-es en lazarus.freepascal.org> >> > > >> > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> > > >> > > >> > > >> > >> ------------------------------------------------------------------------ >> > > >> > > _______________________________________________ >> > > Lazarus-es mailing list >> > > Lazarus-es en lazarus.freepascal.org >> > > >> > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> > > >> > >> > _______________________________________________ >> > Lazarus-es mailing list >> > Lazarus-es en lazarus.freepascal.org >> > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> > >> > >> > _______________________________________________ >> > Lazarus-es mailing list >> > Lazarus-es en lazarus.freepascal.org >> > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> >> _______________________________________________ >> Lazarus-es mailing list >> Lazarus-es en lazarus.freepascal.org >> http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es >> > > > _______________________________________________ > Lazarus-es mailing list > Lazarus-es en lazarus.freepascal.org > http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es > > -- Carlos Germ�n Tejero ------------------------------ _______________________________________________ Lazarus-es mailing list Lazarus-es en lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es _______________________________________________ Lazarus-es mailing list Lazarus-es en lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es
Carlos Germ�n Tejero ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20081112/35f1cf9b/attachment.html>

Reply by email