Fórum O Commit só funciona depois que fecho meu aplicativo #282961

25/05/2005

0

Olá, utilizo firebird 1.5, e estou passando o seguinte codigo:

Button1

TbCliente.Insert;


Button2
TbCliente.Post;
TransCliente.Commit;


Minha IBDataSet esta linkada com meu TransCliente, e meu TransCliente esta como ReadCommited

ele grava beleza, porem nao me exibe o registro, soh se eu fechar minha aplicacao e abrir novamente,

o que pode ser que esta acontecendo?


desde ja agradeco

[]s


Titanius

Titanius

Responder

Posts

25/05/2005

Maneljunior

Boa noite Titanius! 8)

Acho que você pode resolver seu problema utilizando um componente IBQuery, com as devidas ligações (Database, IBTransaction) e utilizar o código abaixo depois do comando de post.

With IBQuery1 Do
Begin
SQL.Clear;
SQL.Add(´Commit´);
Open;
Close;
End;

Acho que este trecho de código resolve seu problema.

Atenciosamente,


Responder

Gostei + 0

27/05/2005

Titanius

Amigo, ManelJunior

Eu nao posso usar isto, pois estou usando o IBDataSet, e por incrível que pareça uso a mesma funcao para todas as telas de cadastro e só não funciona no Cliente...
já dei o Close no DataSet e tudo, mas continua o problema..


[]s


Responder

Gostei + 0

27/05/2005

Mmoreira

titanius

o correto seria vc usar da seguinte maneira:

IBDataSet1.Transaction.CommitRetaining;

depois quando vc for finalizar sua aplicação no evento OnDestroy por exemplo vc coloca:

if IBTransaction1.InTransaction then IBTransaction1.Commit;


bom eu estou acostumado a usar os componentes DBX entao se tiver cometido algum erro ... os colegas ai do forum me corrijam


Responder

Gostei + 0

27/05/2005

Titanius

é mais no DBX não existe isso... acho que este comando é igual ao ReadCommit, ou seja, ele espera o Commit para mandar pro banco, o incrível que sempre funcionou, porem agora parou de funcionar...


Responder

Gostei + 0

27/05/2005

Mmoreira

tente fazer da maneira que eu te falei só para fazer o teste ...

voce fez assim:
Button1 

TbCliente.Insert; 


Button2 
TbCliente.Post; 
TransCliente.Commit; 


tente assim:

IBTable1.POST;
IBTable1.Transaction.CommitRetaining;


Responder

Gostei + 0

27/05/2005

Titanius

Agora parou dar este erro e esta dando outro:

lock conflit on no wait transaction



:(


Responder

Gostei + 0

30/05/2005

Markrj

de um ApplyUpdates no dataset logo após o post, vai resolver o problema


Responder

Gostei + 0

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

Aceitar