a todos muchas gracias por sus aportes, les entiendo muy bien cada punto que me han colocado y otros puntos que no sabía me han ayudado mucho en conocimiento, bueno pasando más importante
por ahora, he hecho los cambios ya que me han propuesto, pero sigue en lo mismo, hace muy bien el recorrido hasta el ultimo registro, recorro cada linea y al llegar al execSQL, no pasa de ahí, voy al
SQL Server y veo en el monitor de actividades que estoy en Update Suspendido, me toca matar el proceso, o cerrar el programa para que se libere.
Envío el código como lo tengo en estos momentos, seguiré haciendo pruebas
Código Delphi
[-] with Query6 do
begin
Query6.Close;
Query6.Params[0].AsString := Edit_ano.Text;
Query6.Params[1].AsString := mes;
Query6.Open;
end;
v1 := 0;
Query6.First;
while not Query6.Eof do
begin
v1 := Query6.FieldByName('reversion').AsInteger;
Table2.Open;
Table2.Insert;
Table2.FieldByName('cuenta').Value := '139905';
Table2.FieldByName('num_mov').Value := '138';
Table2.FieldByName('tipo_mov').Value := 'DT';
Table2.FieldByName('consec').Value := cons;
Table2.FieldByName('ano_mov').Value := Edit_ano.Text;
Table2.FieldByName('mes_mov').Value := mes;
Table2.Post;
Table2.Close;
qconsr := TFDQuery.create(nil);
try
qconsr.ConnectionName := Md_comun.BD_Tesoreria.ConnectionName;
qconsr.SQL.Clear;
qconsr.SQL.Add('UPDATE pago set deter = :P1 ');
qconsr.SQL.Add('WHERE nrocredito = :P2 AND documento = :P3 ');
qconsr.SQL.Add('AND consecutivo = :P4');
qconsr.ParamByName('P1').AsFloat := v1;
qconsr.ParamByName('P2').AsString := Query6.FieldByName('nrocredito').AsString;
qconsr.ParamByName('P3').AsString := Query6.FieldByName('documento').AsString;
qconsr.ParamByName('P4').AsString := Query6.FieldByName('consecutivo').AsString;
qconsr.ExecSQL;
finally
qconsr.Free;
end;
Query6.Next;
end;
haciendo las pruebas, copio la cadena del update del qconsr en el ultimo registro, y la pruebo directamente en SQLServer y me funciona sin problema.