[Lazarus-es] actualizar grid automáticamente

Gastón Dall' Oglio gaston.dalloglio en gmail.com
Vie Sep 28 21:01:02 CEST 2012


El 28 de septiembre de 2012 12:11, Ismael L. Donis Garcia <
ismael en citricos.co.cu> escribió:

>  No, no me contradices en nada. Es lo mismo que yo dije. Lo que pasa es
> el modo en que está desarrollado el componente, lo cual tiene a confundir
> un poco.
>
> Para cualquier gestor de BD. Para que puedas ver los datos actualizados en
> una X transacción tienes que:
>
> - Comenzar la transacción.
> - Actualizar los datos, ósea en este caso post o execsql
> - Confirmar la actualización, ósea realizar un commict
> - Cerrar la transacción
>
>

Claro en este sentido yo no agregué nada, ya lo habías dicho todo vos.

Lo que yo traté de describir es otro caso, que es el que tuvo Paola (y
muchos hemos tenido), donde "el problema" de no ver las modificaciones en
los datos radica en que el programa1 (ve su descripción en el primer mail)
utiliza un modo transaccional incorrecto, por lo que nunca verá los cambios
hechos por otras transacciones hasta tanto no abra y cierre la transacción.
Creo que por defecto los componentes utilizan algún otro modo para las
transacciones, como concurrency o consistency no lo se exactamente (los
cuales sí son apropiados para otros usos), por lo cual nunca veras los
cambios hechos posteriormente a cuando abriste la transacción. Esto se
puede lograr usando el modo ReadCommited, que muestra los cambios hechos en
otras transacciones ni bien son confirmados.


> Saludos Reiterados
>

Saludos.


> =========
> || ISMAEL ||
> =========
> PD: Si algo yo no conozco es de Lazarus, por el contrario si en algo me es
> especializado es en RDBMS.
>

;)


>  ----- Original Message -----
> *From:* Gastón Dall' Oglio <gaston.dalloglio en gmail.com>
> *To:* Spanish version of Lazarus List<lazarus-es en lists.lazarus.freepascal.org>
> *Sent:* Friday, September 28, 2012 10:05 AM
> *Subject:* Re: [Lazarus-es] actualizar grid automáticamente
>
> Hola Ismael.
>
> Lo que voy a decir no es para contradecirte, sino para ampliar la info por
> si a alguien le sucede y no pierda tiempo como lo perdí yo hace unos meses.
>
> Digamos que hay dos aplicaciones, una que hace cambios y otra que los
> visualiza.
>
> Puede pasar como vos decís que haga falta hacer el commit, y al cerrar la
> aplicación que realiza los cambios (y por ende la transacción) lo se haga
> automáticamente. Es decir que acá se "ven" los cambios desde otras
> transacciones al cerrar la aplicación que realiza las modificaciones.
>
> Pero en mi caso tenía el mismo problema que Paola que me faltaba cambiar
> el modo de la transacción, por lo tanto lo que sucedía cuando abría y
> cerraba la aplicación que visualiza era que se abría una nueva transacción
> y por eso ahora sí veía los datos modificados en otra transacción (la de la
> otra aplicación que realiza las modificaciones). Para estos es que hay que
> poner ReadCommited en las transacciones que quieren ver los datos de otras
> transacciones ni bien estas otras confirmen sus cambios, de otra manera hay
> que abrir y cerrar la transacción en la aplicación que visualiza.
>
> Bueno, espero que se entienda. Esto de tener varios modos de transacciones
> parece un lío, pero es muy útil tener varios modos porque a veces se
> soluciona muchas situaciones particulares cambian el modo de aislamiento a
> la transacción, por ejemplo, ignorando los commit y pudiendo leer los
> cambios de otras transacciones antes que se haga un commit (acceder a una
> venta abierta desde varias pcs antes que se confirme).
>
> Saludos.
>
> El 27 de septiembre de 2012 12:20, Ismael L. Donis Garcia <
> ismael en citricos.co.cu> escribió:
>
>>  Pues tenía razón yo. Te faltaba el commict
>>
>> Cuando comienzas un transacción si no realizas el commict no te salva los
>> datos en la BD, por eso lo hacía al cerrar el programa y volverlo a abrir
>> ya que cuando cierras el programa el hace un commict de todas las
>> transacciones abiertas. (esto es SQL, no tiene nada que ver con Lazarus, tu
>> hubiese pasado con cualquier lenguaje que uses)
>>
>> Saludos Reiterados
>> =========
>> || ISMAEL ||
>> =========
>>
>>
>>  ----- Original Message -----
>> *From:* Paola Bruccoleri <pbruccoleri en adinet.com.uy>
>> *To:* Spanish version of Lazarus List<lazarus-es en lists.lazarus.freepascal.org>
>>  *Sent:* Thursday, September 27, 2012 10:47 AM
>> *Subject:* Re: [Lazarus-es] actualizar grid automáticamente
>>
>> El 27/09/2012 11:36 a.m., Oscar Benitez Carrillo escribió:
>>
>> Paola, el componente ZConnection tiene una propiedad TransacIsolation,
>> ¿Ya probaste ponerla en ReadCommited? aunque yo he utilizado otros
>> componentes, en el componente Transaction he tenido que poner en
>> opciones->ReadCommited=True para lograr lo que tu quieres.
>>
>> Saludos
>> Oscar Benitez
>>
>> Hola Oscar!
>> genio... funcionó!!!
>> lo tenía con el valor tiNone. Lo cambié x el que me comentas,
>> tiReadCommited y ahora si se ve reflejado el insert. (solo hago el refresh,
>> no cierro y abro las tablas)
>> Este cambio tendrá repercusiones negativas en otras partes del sistema?
>> byeeeeeeeeeee
>>
>> ------------------------------
>> _______________________________________________
>> Lazarus-es mailing list
>> Lazarus-es en lists.lazarus.freepascal.org
>> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>>
>>
>> _______________________________________________
>> Lazarus-es mailing list
>> Lazarus-es en lists.lazarus.freepascal.org
>> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>>
>>
>  ------------------------------
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20120928/9cdfefb9/attachment-0002.html>


More information about the Lazarus-es mailing list