Ver Mensaje Individual
  #13  
Antiguo 27-01-2009
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Reputación: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Si ya tienes los componentes en el datamodule sería algo así:
Suponiendo que lees de algún lugar y quieres transferirlo a la base.
Código Delphi [-]
//Supongo: Q.SQL.Text := 'insert into tabla (dato) values (?dato)';
procedure TDMFactura.Insertar;
begin
   while not Datos.EOF do
   begin
      with Q do
      begin
         Close;
         {Comieza transaccion}
         Transaction.StartTransaction;
         Params.ByName['DATO'].AsString := Dato.FieldByName['DATO'].AsString;
         ExecQuery;
         {Finaliza transaccion}
         Transaction.Commit;
      end;
      Datos.Next;
   end; {while not Datos.EOF}
end;
Como verás la transacción está abierta solo durante la asignación de parámetros y el ExecQuery.
Luego de eso se hace un Commit.
Responder Con Cita