Erro ao tentar usar dois TFDTRANSACTIONS no Delphi

Delphi

Firebird

FireDAC

CRUD - Delphi

24/09/2021

Olá, estou com um problema no Delphi ao tentar usar dois componentes TFDTRANSACTIONS do FireDac, existem duas querys e o procedimento é uma inserção em duas tabelas diferentes, ao clicar no botão "Novo" que entra no modo de inserção ele exibe a seguinte mensagem: [FireDAC][Phys][FB]-343. Cannot set Default transaction.
Alguém sabe como resolver?
José Junior

José Junior

Curtidas 0

Respostas

Paulo

Paulo

24/09/2021

Olá, estou com um problema no Delphi ao tentar usar dois componentes TFDTRANSACTIONS do FireDac, existem duas querys e o procedimento é uma inserção em duas tabelas diferentes, ao clicar no botão "Novo" que entra no modo de inserção ele exibe a seguinte mensagem: [FireDAC][Phys][FB]-343. Cannot set Default transaction.
Alguém sabe como resolver?


Porque usar dois transactions?

Você também está usando dois TFDConnection? Se não estiver eu ACHO que o problema pode ser este, porque no connection tem a propriedade do transaction para setar.
GOSTEI 0
José Junior

José Junior

24/09/2021

Olá, estou com um problema no Delphi ao tentar usar dois componentes TFDTRANSACTIONS do FireDac, existem duas querys e o procedimento é uma inserção em duas tabelas diferentes, ao clicar no botão "Novo" que entra no modo de inserção ele exibe a seguinte mensagem: [FireDAC][Phys][FB]-343. Cannot set Default transaction.
Alguém sabe como resolver?


Porque usar dois transactions?

Você também está usando dois TFDConnection? Se não estiver eu ACHO que o problema pode ser este, porque no connection tem a propriedade do transaction para setar.


Eu estou usando dois TFDTransaction por conta que a tela faz duas inserções em tabelas diferentes ao mesmo tempo, já setei a propriedade Transaction no TFDConnection mas não resolveu, estou usando apenas um TFDConnection.
GOSTEI 0
Paulo

Paulo

24/09/2021

Eu estou usando dois TFDTransaction por conta que a tela faz duas inserções em tabelas diferentes ao mesmo tempo, já setei a propriedade Transaction no TFDConnection mas não resolveu, estou usando apenas um TFDConnection.


Se o problema é fazer dois insert em tabelas diferentes "ao mesmo tempo" EU não vejo problema nenhum em usar a mesma query. Poderia fazer assim.

  with qry do begin
    Close;
    SQL.Clear;
    SQL.Add('comando 1');
    ExecSQL;
    Close;
    SQL.Clear;
    SQL.Add('comando 2');
    ExecSQL;
  end;
GOSTEI 0
POSTAR