Ver Mensaje Individual
  #5  
Antiguo 31-12-2003
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Reputación: 10
marcoszorrilla Va por buen camino
Mira este ejemplo, que te viene con los propios componentes IB:
Código:
procedure TForm1.ApplyButtonClick(Sender: TObject);

begin
  with CustomerQuery do
  begin
  IBDatabase1.Open;
  IBTransaction1.StartTransaction;
  Table1.Insert;
  Table1.FieldByName('QUANTITY').AsInteger := StrToIn(Edit1.Text);
  Table1.Post;
  IBTransaction1.Commit;
  end;
end;
Si el proceso es dar un alta o hacer una modificación, en mi opinión se debe de finalizar la transacción, el hacer cambios en muchos registros a la vez y no concluir la transacción es lo que puede provocar que otro proceso ataque los mismos datos sin que hayamos finalizado la transacción anterior y pueda terminar produciéndose un fallo, por ejemplo un "DeadLock",

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita