 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Invitado
|
Publicado: Jue 14 Jul, 2005 7:58 am Asunto: Transacciones en Interbase |
|
|
Unas preguntas acerca de transacciones que me estan volviendo loco. Tengo una aplicacion que instalos en varios clientes e interbase 6 en un servidor. Programo con Builder 5.
Para trabajar utilizo IBQuerys (para selects) e IBSQL (para insert,delete y update). Cuando voy a insertar datos utilizo transacciones de la siguiente manera
| Código: | try {
IBT->Active = true;
// inserto, consulto, borro...
IBT->Commit();
} catch(...)
IBT->Rollback();
} |
Hasta ahora esto parecia funcionar pero si un usuario A tiene la aplicacion abierta e inserta, otro usuario B con la aplicacion abierta ve también su insercion (hasta ahi bien). El problema es un formulario en B que al hacer una operacion sobre el registro que inserto A, se bloquea. Sin embargo, si A cierra su aplicacion, B no tiene problemas (espero haberme explicado bien).
¿Puede ser problema de como uso las transacciones o debo buscar el error en otra causa? |
|
| Volver arriba |
|
 |
Crandel Lt


Registrado: 31 May 2005Mensajes: 94Ubicación: Argentina
|
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Vie 15 Jul, 2005 5:54 am Asunto: |
|
|
a mi punto de vista, te falta el post
| Código: | try {
IBT->Active = true;
// inserto, consulto, borro...
TuTabla->Post();
IBT->->CommitRetaining();
// con la linea de arriba, aplicas, y dejas la base de datos libre
// para todos los usuarios.
} catch(...)
IBT->Rollback();
} |
_________________
 |
|
| Volver arriba |
|
 |
Invitado
|
Publicado: Vie 15 Jul, 2005 12:40 pm Asunto: |
|
|
| No uso tables, solo querys. De todas formas creo que localice el error. Habia una actualizacion fuera de la transaccion (es bastante extenso el código, con muchos botones el form... y me costo encontrarla), me imagino que seria eso, gracias a ambos. |
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|