GARANTIR DESCONTO

Fórum Problema para comitar #47874

04/11/2004

0

Ola a todos,
estou tendo um problema na minha aplicação Delphi com Interbase onde não sei mais o que fazer.
O meu programa está fazendo tudo o que eu quero, ele exclui, edita dados, insere novos valores porém ele só faz isso em run-time.
Depois que eu fecho a aplicação todas as exclusoes e alterações que fiz no banco de dados nao sao efetuadas.
Não esta realizando um commit.
Abaixo vai um trecho de codigo exemplo de meu programa onde estou tendo problema, no caso o btnSalvar de uma tabela de controle

dmData.dsetBusca.Edit;
dmData.dsetBusca.FieldByName(´enter´).value:=´E´;
dmData.dsetBusca.FieldByName(´data´).value:=date;
dmData.dsetBusca.FieldByName(´horaentra´).value:=time;
dmData.dsetBusca.Post;

Ele realiza sem erro nenhum essas inserções de valores de campos, porém depois q fecho a aplicação não é comitado no banco.

Agradeço a atenção,
aguardo uma luz

Obrigado


Doom

Doom

Responder

Posts

04/11/2004

Gandalf.nho

Você está explicitamente comitando a transação? Você teria que comitar após o post.


Responder

Gostei + 0

04/11/2004

Doom

Então Gandalf,
eu insiro um Commit depois do post porém mesmo assim ele não comita.

Fica como no exemplo

dmData.dsetBusca.Edit;
dmData.dsetBusca.FieldByName(´enter´).value:=´E´;
dmData.dsetBusca.FieldByName(´data´).value:=date;
dmData.dsetBusca.FieldByName(´horaentra´).value:=time;
dmData.dsetBusca.Post;
dmData.tscGeral.Commit;

onde tsc eh o nome da transaction...

Oq será q ta acontecendo?


Responder

Gostei + 0

04/11/2004

Gandalf.nho

Primeiro verifique se o seu dataset está vinculado a transação que está sendo comitada. Segundo, verifique se não há nenhum erro sendo tratado que possa impedir o commit.


Responder

Gostei + 0

04/11/2004

Doom

Eh Gandalf ta complicado,
ela ta corretamente relacionada ao transaction e nada...
Nao sei pq ta dando esse erro, deve ser algum detalhe pifio que nao conheço, com certeza....
Nao sei mais oq fazer...

Existe uma outra opção sem utilizar o metodo commit, pra inserir os dados no banco de uma vez?

Obrigado...


Responder

Gostei + 0

04/11/2004

Afarias

tente::

with dmData.dsetBusca do
  try
    Edit; 
    FieldByName(´enter´).value:=´E´; 
    FieldByName(´data´).value:=date; 
    FieldByName(´horaentra´).value:=time; 
    Post; 
    Transaction.Commit;
  except
     raise;
  end;



T+


Responder

Gostei + 0

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

Aceitar