[Lazarus-es] actualizar grid automáticamente

Ismael L. Donis Garcia ismael en citricos.co.cu
Vie Sep 28 17:11:45 CEST 2012


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

Saludos Reiterados
=========
|| 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 
  To: Spanish version of Lazarus List 
  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 
      To: Spanish version of Lazarus List 
      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
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20120928/96c436ab/attachment-0002.html>


More information about the Lazarus-es mailing list