Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-06-2014
pape19 pape19 is offline
Miembro
 
Registrado: jul 2010
Posts: 96
Poder: 14
pape19 Va por buen camino
Editar o eliminar ALTA, no commiteada.

Buenas noches gente.

Mi situación es la siguiente. Tengo dos tablas, maestro y detalle. Doy de alta un registro maestro, hago el commit, y luego ingreso los detalles, realizando un nuevo commit luego de la carga de los mismos. Hasta aquí todo correcto.

El problema viene cuando, doy de alta un detalle, pero antes de confirmar el mismo con un commit, el usuario se arrepiente o se equivocó en algún dato de este detalle, por eso mismo elige editar el mismo, o eliminarlo. Si luego de esto hago un commit, los datos que se me guardan son los del insert de este detalle.

Ustedes me dirán...haz un commit luego del insert, y cuando el usr se equivoca...editas este detalle commiteado. El problema de esto es que si el usuario carga por ejemplo unos 10 detalles, pero luego se arrepiente de esta carga y cancela el proceso, tengo que buscar y eliminar de la base de datos los 10 detalles, lo que me parece algo totalmente ineficiente.

Trabajo con Firebird 2.5, e IBTable's.

Como puedo proceder ante esta situacion? Como puedo editar, o eliminar, un detalle ingresado que no ha sido commiteado?

Saludos.
Responder Con Cita
  #2  
Antiguo 19-06-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Para empezar, no uses ibtable, usa querys.
Para eliminar las líneas de detalles que el usuario ha cancelado:
Código SQL [-]
delete from tabladetalles where idcabecera=?laquesea
Como ves, no tienes que buscar nada, ni es engorroso ni es eficiente.
Responder Con Cita
  #3  
Antiguo 19-06-2014
pape19 pape19 is offline
Miembro
 
Registrado: jul 2010
Posts: 96
Poder: 14
pape19 Va por buen camino
Gracias Casimiro por la respuesta. Es cierto lo que dices, pero tomé esto algo avanzado, por lo que decidí no cambiar demasiado.

Para el que le ocurra, pude solucionarlo con un Table1.Refresh; luego de cada Post.

Saludos!
Responder Con Cita
Respuesta



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
Problema para eliminar y editar registros con query de por medio kornamenta Conexión con bases de datos 21 12-12-2012 19:50:17
editar campo autoincremento al editar registro anterior chartres Conexión con bases de datos 1 21-05-2011 01:37:25
dar de alta un campo memo dalsim Firebird e Interbase 1 17-11-2008 18:47:06
Por que dar de alta a los usuarios... Arturo MySQL 2 04-02-2005 22:45:01
Alta concurrencia SCORDOBA Firebird e Interbase 3 11-05-2004 16:53:42


La franja horaria es GMT +2. Ahora son las 21:24:24.


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