Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-08-2014
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
Saber si otra tabla esta en edit o insert

Hola compañeros, las cuestiones son las siguiente:

1º)Existe alguna manera de saber si antes de hacer un commitretaining, saber si tenemos otra tabla en edición o inserción, aparte de la que estemos en ese momento

2º)Si cancelo, un trabajo, que este no se grabe pero los que pueda hacer por medio si

Pienso en que puedo usar una variable general boleana, cuando exista una tabla en edición ponerla en true y otra variable general integer con el número de tablas en insert/append o edit y sólo hacer un commitretaining si la última variable es 0, pero me crea la duda y si una de las tablas la he cancelado.

Como siempre gracias por vuestra ayuda.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #2  
Antiguo 22-08-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.022
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Creo que no entiendo bien lo que preguntas. Cada transacción es independiente de las demás, no sabe nada de las otras transacciones. Si cancelas una transacción, las demás seguirán haciendo lo que tengan que hacer (lo que tú les digas que haga), independientes unas de otras.
Responder Con Cita
  #3  
Antiguo 22-08-2014
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
Gracias Antonio, me extiendo un poco más.

El caso es el siguiente, estamos en la inserción de una nueva factura, pero uno de los artículos no esta dado de alto, si lo creo, teniendo aún la tabla factura y factura detalle, en edición o inserción, al crear el nuevo artículo y hacer un CommitRetaing, no afecta al estado de las tablas Factura y factura detalle?

Es lo que me deja dudando y me tiene inquieto.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #4  
Antiguo 22-08-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.022
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bueno, no sé cómo lo haces, pero si creas un artículo, esto no tiene forma de afectar a la otra transacción.
Independientemente de la transacción donde se ejecuta el "insert" o "edit" de la factura, creas un artículo, se supone que está en otra transacción porque abrirás un formulario de artículos con su dataset asociado a la base de datos, y la transacción será otra distinta.
Creo entender que es eso lo que preguntas.
Responder Con Cita
  #5  
Antiguo 22-08-2014
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
Me queda claro Antonio, gracias
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #6  
Antiguo 22-08-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.022
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Para que lo tengas un poco más claro, si es posible, cada sentencia sql inicia su propia transacción, que es independiente a las de las otras sentencias. Y cada una ve el mundo (la BD) como estaba en el momento en que se inició ella. No sabe nada de las distintas visiones del mundo de las otras transacciones.
Todo esto es salvo que tú mismo ejecutaras un "starttransaction", que no acabaría nunca hasta que confirmaras o cancelaras la transaction (commit o rollback) y afectaría a todas las sentencias posteriores al "starttransaction".
Responder Con Cita
  #7  
Antiguo 22-08-2014
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
Gracias, por la información.

Creía que al hacer un Commit, guardábamos todos los cambios echos hasta ese momento, de hay mi error.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Realizar un Insert de una tabla de Otra BD Efren2006 SQL 0 03-02-2009 03:52:00
Dataset not in edit or insert mode :S si esta en append! Mannu C++ Builder 1 28-11-2007 10:52:18
insert a una tabla de otra tabla mas datos gmontes SQL 3 16-10-2004 18:04:51
Como Saber Si Dbedit O Edit Esta Vacio mainau Varios 5 17-07-2004 13:42:04
Saber si otra aplicacion esta en ejecucion Salomon Varios 3 07-10-2003 19:19:31


La franja horaria es GMT +2. Ahora son las 11:40:02.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi