Fórum Piradox !!! #143843

10/03/2003

0

Olá pessoal , gostaria de saber se vcs já passaram por esta situação com esse maravilhoso banco de dados.
Eu tenho uma rotina de manutenção de dados onde ela excluirá os registros das tabelas de acordo com seus respectivos relacionamentos numa determinada data para traz Ex : <=10/01/2000.Antes de eu excluir
eu passo um pack Table nas tabelas para diminuir o tráfego daqueles registros ´sombras´ e depois eu começo a excluir os registros, chega uma determinada hora que acontece o seguinte erro : Invalid Parameter
na instrução Sql , eu conferir o comando dado para o TQuery e esta correto , abaixo segue o comando !!


Try
Dm.StartTransaction;
While Query1.eof = false do
begin
Sql:=´Delete from tabela where codigo=´;
Sql:=Sql+IntToStr(Query1.FieldByName(´Codigo´).AsInteger);
Query2.Close;
Query2.Sql.Clear;
Query2.Sql.Add(Sql);
Query2.ExecSql;
Query1.Next;
end;
Dm.Commit;
Apllication.messagebox(´Operação efetuada com
Sucesso !!´,´Atenção´,0+32);
Except On E: Exception
begin
ShowMessage(E.Message);
Dm.Rollback;
end;

end;


Solider

Solider

Responder

Posts

10/03/2003

Aroldo Zanela

If InTransaction is True, indicating that a transaction is already in progress, a subsequent call to StartTransaction without first calling Commit or Rollback to end the current transaction raises an exception.

Updates, insertions, and deletions that take place after a call to StartTransaction are held by the server until an application calls Commit to save the changes or Rollback is to cancel them.

Não conheço Paradox. Ele tem suporte a transações?


Responder

Gostei + 0

10/03/2003

Okama

Aparentemente a rotina está correta, o que posso sugerir é que teste cada exclusão verificando se o código existe.

Antes do Query2.ExecSql; digite um Showmessage( Query2.Sql.Text );

Verifique quando a tabela alcança o fim se executa a rotina ou pára.


Responder

Gostei + 0

17/03/2003

Anonymous

Olá pessoal , gostaria de saber se vcs já passaram por esta situação com esse maravilhoso banco de dados. Eu tenho uma rotina de manutenção de dados onde ela excluirá os registros das tabelas de acordo com seus respectivos relacionamentos numa determinada data para traz Ex : <=10/01/2000.Antes de eu excluir eu passo um pack Table nas tabelas para diminuir o tráfego daqueles registros ´sombras´ e depois eu começo a excluir os registros, chega uma determinada hora que acontece o seguinte erro : Invalid Parameter na instrução Sql , eu conferir o comando dado para o TQuery e esta correto , abaixo segue o comando !! Try Dm.StartTransaction; While Query1.eof = false do begin Sql:=´Delete from tabela where codigo=´; Sql:=Sql+IntToStr(Query1.FieldByName(´Codigo´).AsInteger); Query2.Close; Query2.Sql.Clear; Query2.Sql.Add(Sql); Query2.ExecSql; Query1.Next; end; Dm.Commit; Apllication.messagebox(´Operação efetuada com Sucesso !!´,´Atenção´,0+32); Except On E: Exception begin ShowMessage(E.Message); Dm.Rollback; end; end;


Também estou enfrentando o mesmo problema e já detectei que o ´Invalid Parameter´ ocorre sempre que o arquivo Pdoxusrs.lck atinge 25 mb e isso ocorre ligeiro. Ainda não achei solução p/ que ele não cresça assim.

Flávio.


Responder

Gostei + 0

20/10/2015

Total Sistemas

Tenho um sistema bem antigo que preciso atualizá-lo, e estou com o mesmo problema, alguém descobriu alguma solução?
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar