Gracias por la respuesta.
He realizado los cambios que comentas y sigue saliendo el mismo error en la linea marcada.
Código:
procedure Resolver(Tabla: TTabla);
var
Conexion: TSQLite3Connection;
Consulta,Consulta2: TSQLQuery;
Transaccion: TSQLTransaction;
begin
Conexion:=TSQLite3Connection.Create(nil);
Conexion.DatabaseName:='TF.sql';
Consulta:=TSQLQuery.Create(nil);
Consulta.DataBase:=Conexion;
Consulta2:=TSQLQuery.Create(nil);
Consulta2.DataBase:=Conexion;
Transaccion:=TSQLTransaction.Create(Consulta);
Transaccion.DataBase:=Conexion;
for it:=0 to 10 do begin
with Tabla do
nomTabla:=format('''T'+formatoNombreTabla,[C1,C2,C3,C4]);
Transaccion.StartTransaction;
cmdSQL:='SELECT * FROM '+nomTabla+';';
Consulta.SQL.Text:=cmdSQL;
Consulta.Open;
while not Consulta.EOF do begin
with TB do
snc:=format(' WHERE C1=%d AND C2=%d AND C3=%d AND C4=%d;',[C1,C2,C3,C4]);
Valor:=ProcesarTabla(nomTabla);
cmdSQL:='UPDATE '+nomTabla+' SET valor='+inttostr(VALOR)+snc;
Consulta2.SQL.Text:=cmdSQL;
Consulta2.ExecSQL;
Transaccion.Commit;
Consulta.Next; <==================== ERROR
end;
Transaccion.EndTransaction;
Consulta.Close;
end;
Consulta.Free;
Transaccion.Free;
Conexion.Free;
end;