Club Delphi  
    Paypal   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 07-02-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Más allá de que la práctica aconsejada por Casimiro es la que creo correcta y siempre utilizo, me quedé con la duda...
Probando, encuentro que las líneas de Tcmn, con Delphi 7 e Firebird 2.5 funcionan correctamente.

Mi primera prueba fué con un TIBDataSet y todo correcto, luego pensé que podría ser un problema del TIBTable, componente que no había usado hasta hoy. Pero no, con ambos componentes el código funciona bién.

Usé este código en la prueba:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  with IBDataSet1 do //IBTable1  do
  begin
    Insert;
    FieldByName('RAZON').AsString:= 'INSERTADO';
    FieldByName('CUIT').AsString:= '44444444444';
    FieldByName('DOMICILIO').AsString:= 'CCCCCCCCC';
    Post;
    ShowMessage(' ');
    Edit;
    FieldByName('RAZON').AsString:= 'MODIFICADO';
    FieldByName('CUIT').AsString:= '55555555555';
    FieldByName('DOMICILIO').AsString:= 'DDDDDDDDD';
    Post;
    IBTransaction1.CommitRetaining;
  end;
end;

Si el problema fueran los privilegios, Tcmn hubiera obtenido una excepción...

¿ Será debido a la versión de Delphi o Firebird ?


Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 07-02-2011 a las 21:04:56.
Responder Con Cita
  #2  
Antiguo 07-02-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por ecfisa Ver Mensaje
¿ Será debido a la versión de Delphi o Firebird ?
Un saludo.
Creo que seguramente no es ese el proceso que realiza Tcmn. Pienso que después de grabar no edita, sino que hace otra cosa, sale del programa, etc. y luego en esa tabla abierta es cuando edita. Pero en ese caso estaría editando siempre sobre el registro primero de la misma.
Responder Con Cita
  #3  
Antiguo 07-02-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Si Casimiro, es mucho más probable.

Pero como el código en el mensaje parecía una prueba concreta, se me pasó esa posibilidad.

La mala costumbre de presuponer...


Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 07-02-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por ecfisa Ver Mensaje
La mala costumbre de presuponer...
Un saludo.
Bueno, también puedo estar equivocado
Responder Con Cita
  #5  
Antiguo 07-02-2011
Tcmn Tcmn is offline
Miembro
 
Registrado: sep 2004
Posts: 153
Poder: 22
Tcmn Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Creo que seguramente no es ese el proceso que realiza Tcmn. Pienso que después de grabar no edita, sino que hace otra cosa, sale del programa, etc. y luego en esa tabla abierta es cuando edita. Pero en ese caso estaría editando siempre sobre el registro primero de la misma.
Los pasos para dar de alta los registros son los siguientes:
1.- Presionar boton "INICIAR MODIFICACIONES".
2.- Dar de alta los registros que se quieran y editar los mismos que se acaban de dar de alta asi como los que previamente existian en la tabla con un DBGrid y ademas un DbNavigator.
3.- Presionar boton "CONFIRMAR TODO". El cual ejecuta:
Código Delphi [-]
 
Transaccion.Commit;
o bien el boton "DESHACER TODO". Con la sentencia:
Código Delphi [-]
 
Transaccion.Rollback;

En escencia es lo que se hace. Espero ayude en esta controversia y confusion.
__________________
Salu2
Responder Con Cita
  #6  
Antiguo 07-02-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por Tcmn Ver Mensaje
1.- Presionar boton "INICIAR MODIFICACIONES".
2.- Dar de alta los registros que se quieran y editar los mismos que se acaban de dar de alta asi como los que previamente existian en la tabla con un DBGrid y ademas un DbNavigator.
3.- Presionar boton "CONFIRMAR TODO". El cual ejecuta:
Ahí está el meollo de la cuestión, en el punto 2, ¿cómo está hecho exactamente?
Responder Con Cita
  #7  
Antiguo 07-02-2011
Tcmn Tcmn is offline
Miembro
 
Registrado: sep 2004
Posts: 153
Poder: 22
Tcmn Va por buen camino
Pues lo que puedo mencionar es que mas alla de poner el DBGrid y DBNavigator en el formulario, conectar la propiedad DataSource y poner nombre a las columnas para que fuera mas entendible no hice nada mas. Tal vez se me ha pasado algo porque ahorita volvi a hacer pruebas, pero si usare el commitretaining en cada AfterPost de las tablas.
__________________
Salu2
Responder Con Cita
  #8  
Antiguo 07-02-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Ahora sí que estoy confundido...

Según el primer post usas:
Código Delphi [-]
  Tabla.Insert;
  tablaCAmpo1.Value:='ValorAl insertar Campo1';
  tablaCAmpo2.Value:='ValorAl insertar Campo2';
  tablaCAmpo3.Value:='ValorAl insertar Campo3';
  Tabla.Post;
y
Código Delphi [-]
  Tabla.Edit;
  tablaCAmpo2.Value:='Valor nuevo al Editar Campo2';{Modifico lo que hay en un campo}
  Tabla.Post;
Pero esto no es necesario si usás un TDBNavigator para realizar los ingresos y/o modificaciones sobre el TDBGrid.

Otra cosa,
Cita:
1.- Presionar boton "INICIAR MODIFICACIONES".
2.-Dar de alta los registros que se quieran
Si usas un menu/boton/etc, que diga "INICIAR MODIFICACIONES" y allí le permites ingresar datos, vas a confundir al usario.

Tal vez viendo el código se pueda encontrar el problema.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 07-02-2011 a las 23:55:47.
Responder Con Cita
  #9  
Antiguo 08-02-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
¿Y qué dataset estás usando?
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
No visualizo registros insertados por codigo j_flores3000 Conexión con bases de datos 5 23-11-2008 23:20:06
No guarda los registros Minio Conexión con bases de datos 2 25-02-2008 11:30:06
IBDataset no guarda datos mjjj SQL 3 10-01-2008 15:42:15
¿como Puedo Cancelar La Inserción De Los Últimos Registros "insertados" OscarBravo Tablas planas 1 23-07-2007 19:26:35
Por que No Guarda Paradox y antes si IcebergDelphi Tablas planas 6 25-01-2006 19:58:13


La franja horaria es GMT +2. Ahora son las 15:19:12.


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