A ver si pudeo.<br>Las transacciones en los motores de base de datos deben cumplir con ACID:<br>A: Atomicidad, o sea que una transaccion se debe completar todo o deshacer toda, no pueden quedar cosas a medias.<br>C: Concurrencia, se deben poder ejecutar mas de una transaccion concurrentemente.<br>
I: Isolation o aislamiento, una transaccion no debe interferir con la otra.<br>D: Durabilidad, cuando una transaccion se compremote, los cambios son persistentes.<br><br>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.<br>
<br>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.<br><br>entonces en la transaccion 1 se hace un insert, en la tabla persona:<br>
INSERT INTO PERSONA VALUES("german");<br><br>si la transaccion 2 realiza un select de la tabla persona, no va a ver el registro de german:<br>SELECT * FROM PERSONA;<br><br>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.<br>
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.<br>Saludos.<br><br><br><div class="gmail_quote">2008/11/11 Usuario Anónimo <span dir="ltr"><<a href="mailto:usuarioanonimomysql@gmail.com">usuarioanonimomysql@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><p>¿Lo puedes ilustrar con un ejemplo?</p><p></p><p>Gracias.<br></p><br><div class="gmail_quote">
El 11 de noviembre de 2008 19:08, Tejero, Carlos German <span dir="ltr"><<a href="mailto:german.tejero@gmail.com" target="_blank">german.tejero@gmail.com</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Si estas usando dos transacciones diferentes deberias chequear el<br>
isolation level que estas usando y si has comiteado la transaccion de<br>
modificacion antes de realizar el refresh de la de consulta.<br>
Saludos.<br>
<br>
El mar, 11-11-2008 a las 17:41 +0100, Usuario Anónimo escribió:<div><div></div><div class="Wj3C7c"><br>
<div><div>> No lo se, a ver si alguien nos saca de dudas.<br>
><br>
> Saludos.<br>
><br>
><br>
><br>
> El 11 de noviembre de 2008 18:14, Markisich Emiliano<br>
> <<a href="mailto:markisoft@yahoo.com.ar" target="_blank">markisoft@yahoo.com.ar</a>> escribió:<br>
> Si pero no lo actualiza por eso preguntaba si hay que hacer<br>
> algo mas,<br>
> aparte de SQLQuery1.Refresh<br>
><br>
> Usuario Anónimo escribió:<br>
> > ¿Has probado con SQLQuery1.Refresh;?<br>
> ><br>
> > 2008/11/11 Markisich Emiliano <<a href="mailto:markisoft@yahoo.com.ar" target="_blank">markisoft@yahoo.com.ar</a><br>
><br>
> > <mailto:<a href="mailto:markisoft@yahoo.com.ar" target="_blank">markisoft@yahoo.com.ar</a>>><br>
> ><br>
> > tengo dos ventanas una de listado y otra que se abre<br>
> para dar un ALTA,<br>
> > cada ventana tiene su transaccion.<br>
> > el problema es que cuando doy de alta un registro no se<br>
> actualiza<br>
> > en la<br>
> > ventana de listado, para esto en delphi hacia un refresh<br>
> en la<br>
> > query del<br>
> > listado<br>
> ><br>
> > esto lo puedo solucionar desactivando y volviendo a<br>
> activar el query<br>
> > pero en la ventana desaparecen los datos y vuelven a<br>
> aparecer,<br>
> > queda feo<br>
> > y ademas pierdo el registro seleccionado porque vuelve<br>
> el puntero al<br>
> > primer registro.<br>
> ><br>
> > ¿se entiende?<br>
> ><br>
> > sqListado.Refresh;<br>
> ><br>
> ><br>
> > Saludos<br>
> ><br>
> > Usuario Anónimo escribió:<br>
> > ><br>
> > > ¿Puedes poner un ejemplo de refresh? ¿Para que sirve?<br>
> ¿Te refieres a<br>
> > > un refetch data?<br>
> > ><br>
> > > Saludos.<br>
> > ><br>
> > ><br>
> > > 2008/11/11 Markisich Emiliano <<a href="mailto:markisoft@yahoo.com.ar" target="_blank">markisoft@yahoo.com.ar</a><br>
> > <mailto:<a href="mailto:markisoft@yahoo.com.ar" target="_blank">markisoft@yahoo.com.ar</a>><br>
><br>
> > > <mailto:<a href="mailto:markisoft@yahoo.com.ar" target="_blank">markisoft@yahoo.com.ar</a><br>
> <mailto:<a href="mailto:markisoft@yahoo.com.ar" target="_blank">markisoft@yahoo.com.ar</a>>>><br>
> > ><br>
> > > Hola, ¿ me podrian explicar como hacer un refresh<br>
> con este<br>
> > componente?<br>
> > > si es que funciona.<br>
> > ><br>
> > > Gracias!!<br>
> > > _______________________________________________<br>
> > > Lazarus-es mailing list<br>
> > > <a href="mailto:Lazarus-es@lazarus.freepascal.org" target="_blank">Lazarus-es@lazarus.freepascal.org</a><br>
> > <mailto:<a href="mailto:Lazarus-es@lazarus.freepascal.org" target="_blank">Lazarus-es@lazarus.freepascal.org</a>><br>
> > > <mailto:<a href="mailto:Lazarus-es@lazarus.freepascal.org" target="_blank">Lazarus-es@lazarus.freepascal.org</a><br>
> > <mailto:<a href="mailto:Lazarus-es@lazarus.freepascal.org" target="_blank">Lazarus-es@lazarus.freepascal.org</a>>><br>
> > ><br>
> <a href="http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
> > ><br>
> > ><br>
> > ><br>
> ><br>
> ------------------------------------------------------------------------<br>
> > ><br>
> > > _______________________________________________<br>
> > > Lazarus-es mailing list<br>
> > > <a href="mailto:Lazarus-es@lazarus.freepascal.org" target="_blank">Lazarus-es@lazarus.freepascal.org</a><br>
> > <mailto:<a href="mailto:Lazarus-es@lazarus.freepascal.org" target="_blank">Lazarus-es@lazarus.freepascal.org</a>><br>
> > ><br>
> <a href="http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
> > ><br>
> ><br>
> > _______________________________________________<br>
> > Lazarus-es mailing list<br>
> > <a href="mailto:Lazarus-es@lazarus.freepascal.org" target="_blank">Lazarus-es@lazarus.freepascal.org</a><br>
> > <mailto:<a href="mailto:Lazarus-es@lazarus.freepascal.org" target="_blank">Lazarus-es@lazarus.freepascal.org</a>><br>
> ><br>
> <a href="http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
> ><br>
> ><br>
> ><br>
> ------------------------------------------------------------------------<br>
> ><br>
> > _______________________________________________<br>
> > Lazarus-es mailing list<br>
> > <a href="mailto:Lazarus-es@lazarus.freepascal.org" target="_blank">Lazarus-es@lazarus.freepascal.org</a><br>
> ><br>
> <a href="http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
> ><br>
><br>
> _______________________________________________<br>
> Lazarus-es mailing list<br>
> <a href="mailto:Lazarus-es@lazarus.freepascal.org" target="_blank">Lazarus-es@lazarus.freepascal.org</a><br>
> <a href="http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
><br>
><br>
> _______________________________________________<br>
> Lazarus-es mailing list<br>
> <a href="mailto:Lazarus-es@lazarus.freepascal.org" target="_blank">Lazarus-es@lazarus.freepascal.org</a><br>
> <a href="http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
<br>
_______________________________________________<br>
Lazarus-es mailing list<br>
<a href="mailto:Lazarus-es@lazarus.freepascal.org" target="_blank">Lazarus-es@lazarus.freepascal.org</a><br>
<a href="http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
</div></div></div></div></blockquote></div><br>
<br>_______________________________________________<br>
Lazarus-es mailing list<br>
<a href="mailto:Lazarus-es@lazarus.freepascal.org">Lazarus-es@lazarus.freepascal.org</a><br>
<a href="http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://www.lazarus.freepascal.org/mailman/listinfo/lazarus-es</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Carlos Germán Tejero<br>