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 Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-10-2005
Avatar de ariefez
ariefez ariefez is offline
Miembro
 
Registrado: sep 2005
Ubicación: Perú - Lima
Posts: 63
Poder: 19
ariefez Va por buen camino
IBDatase Insert Post Edit Post

Bueno primero un saludo a todos los foristas...

Uso Delphi 7 con los componentes IB 7.07 el problema es q depues de hacer un post y luego de colocar el dataset en modo de edicion almaceno unos valores y al mandar nuevamento Post este no me guarda el ultimo cambio en la base de datos. esto es lo q hago:

Código:
{... Ingreso datos...}
DataSet1.Post;  //esto lo hago para obtener el generador q se le asigna, mediante un procedimiento almacenado
{... Condiciones...}
DataSet1.Edit;
DataSet1VALOR.Value:=VALOR; //Almaceno el nuevo valor obtenido
DataSet1.Post;
{Commit}
Transaccion.CommitRetaining;
el problema es q el ultimo valor agregado no lo almacena en la base de datos, hay algo q pase por alto. Despues de hacer el primer post no toco para nada el Dataset hasta ponerlo en modo de edicion. les agradeciria cualquier sugerencia q me plantearan.
Responder Con Cita
  #2  
Antiguo 11-10-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Hola:

Quita el CommitRetaining, usa solo commit..

También te recomiendo esta lectura...

Link

__________________
No todo es como parece ser...
Responder Con Cita
  #3  
Antiguo 11-10-2005
Avatar de ariefez
ariefez ariefez is offline
Miembro
 
Registrado: sep 2005
Ubicación: Perú - Lima
Posts: 63
Poder: 19
ariefez Va por buen camino
gracias por la pronta repuesta

pero el problema persiste, ademas al dar Commit se cierra el dataset y quiero mantenerla abierta porque esta asociada a DBEDits..., bueno el codigo en si era este

[code]
{...}
DataSet1.Insert;

{En el evento OnNewRecord del DataSet}
DataSet1VALOR.Value:=0; //Inicializo el valor

{Grabo los valores segun lo ingresado en los DBEdits..}
DataSet1.Post;
//Segun algunas condiciones pongo en "Edicion" el dataset
DataSet1.Edit;
DataSet1VALOR.Value:=VALOR; //Valor q quiero almacenar
DataSet1.Post;
{Commit}
Transaccion.CommitRetaining; {Este es el unico CommitRetaining q ejecuto}

pero lo q se guarda en la base de datos es 0 y no el nuevo VALOR q ingrese
Responder Con Cita
  #4  
Antiguo 11-10-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Hola:

Cita:
Y ¿porqué poner el CommitRetaining en los eventos AfterPost y AfterDelete? Bueno, pues porque el evento AfterPost se ejecuta inmediatamente después de haber guardado los cambos en una inserción o una modificación de un registro, y es precisamente cuando el programa manda al servidor la instrucción SQL de insertar o modificar.
Estás seguro que la variable valor tiene un valor (valga la redundancia)..

Además pienso que no actualiza los datos por lo mismo CommitRetaining, retiene el Commit para no tener que cerrarlo...
__________________
No todo es como parece ser...
Responder Con Cita
  #5  
Antiguo 12-10-2005
Avatar de ariefez
ariefez ariefez is offline
Miembro
 
Registrado: sep 2005
Ubicación: Perú - Lima
Posts: 63
Poder: 19
ariefez Va por buen camino
Gracias por la ayuda, y si la variable VALOR si tenia un valor eso si lo comprobe, al parecer no me queda otra opcion q hacer un commit despues del primer post abrir el dataset y ponerla en modo de edicion, ingresar el nuevo dato y hacer otro post. haciendo esto si me almacena el valor obviamente.
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


La franja horaria es GMT +2. Ahora son las 08:31:17.


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