Ver Mensaje Individual
  #14  
Antiguo 13-02-2010
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Reputación: 19
Chris Va por buen camino
Hola, veo con gran asombro los consejos dados al compañero, me van a disculpar si sueno odioso, pero quiero corregir algo: Cuando estas trabajando directamente con un componente que ejecuta consultas directamente como lo es un TSQLQuery, no necesitas de la llamada al procedimiento Post. Las razones técnicas ya son conocidas pos los que conozcan el funcionamiento interno del TDataset (que es donde se implementa este procedimiento).

Por otro lado, veo que segue habiendo un vacío de información aquí. No se sabe cuál es la configuración que estás utilizando para la transacción. La configuración la puedes encontrar en la propiedad Params del componente de transacción.

Con respecto al error que tenías ("Transaction Already Active") el código que has utilizado no es lo recomentado. Prueba el siquiente:

Código Delphi [-]

  if not SQLTransaction1.InTransaction then // iniciar la transacción si aún no se ha iniciado
     SQLTransaction1.StartTransaction;

  while not Dbf1.EOF do
  begin
      with SQLQuery1 do
        begin
          InsertSQL.Clear;
          InsertSQL.Add('insert into detable values('+Dbf1.Fields[0].AsString
          +','''+Dbf1.Fields[1].AsString+''')');
          ExecSQL;
        end;
      Dbf1.Next;
  end;

  SQLTransaction1.CommitRetaining;

Debes asegurarte que el componente SQLQuery1 esté enlazado a SQLTransaction1 y estos últimos tambien conectados al componente de conección a la base de datos.

Saludos y quedo a la espera de que nos digas que estás colocando en la propiedad Params del SQLTransaction1
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita