Ver Mensaje Individual
  #2  
Antiguo 05-01-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 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 Julián.

El punto 8 de la guía de estilo dice:
Cita:
Preguntas que no hay que hacer

He aquí algunos ejemplos de preguntas mal planteadas que seguramente nadie va a responder, por favor te pedimos que no hagas este tipo de preguntas.

1.- Tengo problemas con Delphi ¿puede alguno ayudarme?
2.- ¿Me podéis pasar el crack X?

Cómo ves la primera es insustancial, poco te van a poder ayudar, en cuanto a la segunda, no queremos que el foro se convierta en un lugar de piratas.

Tampoco debes realizar varias preguntas en un mismo hilo, para que te hagas una idea mejor te ponemos un ejemplito...

1.- ¿Cómo podría cambiar las propiedades de una carpeta y de unos archivos para convertirlos en ocultos?
2.- ¿Tiene Delphi alguna función para validar una cadena y saber si su formato es tipo hh:mm:ss?

Son dos temas totalmente distintos, debes abrir un hilo para cada una de ellas, por favor no hagas las dos preguntas en un mismo hilo.
En cuanto a tu primer pregunta una opción sería usar los métodos BeginTrans, CommitTrans y RollBackTrans del TADOConnection.
El primero inicia una nueva transacción en la base de datos asociada, el segundo guarda todos los cambios realizados durante la transacción y la termina y el tercero cancela todos los cambios realizados durante la transacción y la finaliza.

Te pongo un ejemplo muy sencillo:
Código Delphi [-]
...
procedure TForm1.FormCreate(Sender: TObject);
begin
  ADOConnection1.BeginTrans
end;

procedure TForm1.btnGuardarClick(Sender: TObject);
begin
  ADOConnection1.CommitTrans;  // Guardar cambios
  ADOConnection1.BeginTrans;
  DataSet.Refresh;  // (ADODataSet, ADOQuery o ADOTable)
end;

procedure TForm1.btnCancelarClick(Sender: TObject);
begin
  ADOConnection1.RollbackTrans;  // Deshacer cambios
  ADOConnection1.BeginTrans;
  DataSet.Close;
  DataSet.Open;
end;
Aunque no soy muy ducho con los componentes ADO y seguramente te hacerquen una mejor solución, de este modo te va a funcionar.

Saludos.
__________________
Daniel Didriksen

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