[firebase-br] Transação
Thiago Balbino
tbalbinos em gmail.com
Qui Nov 5 13:02:28 -03 2009
Boa tarde pessoal, possuo o seguite cenário na minha aplicação:
Delphi7 + Firebird -> Usando os componentes DBExpress.
Possuo um StoredProcedure para gravar os pedidos lançados no sistema,
no delphi para executar a procedure faço assim
function GravarPedido : Longint;
begin
Start; -> Funcao para inicar a transação
// apartir daqui passo os parametros para o componente
TSQLStoredProc da paleta dbExpress
DMRelatoriosDC.SP_GRAVAR_PEDIDO.Params[0].Value :=
DMEstoque.cdsPedidoGravarDFIDTRANSFISCAL.Value;
DMRelatoriosDC.SP_GRAVAR_PEDIDO.Params[4].Value :=
DMEstoque.cdsPedidoGravarDFIDCARTEIRA.Value;
DMRelatoriosDC.SP_GRAVAR_PEDIDO.Params[7].Value :=
DMEstoque.cdsPedidoGravarDFIDUNIDADE.Value;
......
// Fim dos parametros para o componente TSQLStoredProc
//aqui executo a procedure
DMRelatoriosDC.SP_GRAVAR_PEDIDO.ExecProc;
Commit; //Função minha de commit;
end;
var
TransacaoNF : TTransactionDesc;
//Meus Procedimentos usados acima
Procedure Start;
begin
TransacaoNF.TransactionID := GeraID;
TransacaoNF.IsolationLevel := xilREADCOMMITTED;
DM.Conexao.StartTransaction(TransacaoNF);
end;
Procedure Commit;
begin
DM.Conexao.Commit(TransacaoNF);
end;
Porem as vezes ao dentro da função GravarPedido ocorre o seguinte
erro: "Transaction not assigned." na hora de ExecProc.
O que pode ser ? o que pode ser o que eu estou fazendo de errado ?
--
Thiago de Souza Balbino
Analista de Sistemas / Programador
Meta Tecnologia e Sistemas - Muriaé / MG
(32) 3721 - 8729
(32) 8867 - 8729
MSN: thiagodeb em hotmail.com
Mais detalhes sobre a lista de discussão lista