Problema para comitar
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
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
Curtidas 0
Respostas
Gandalf.nho
04/11/2004
Você está explicitamente comitando a transação? Você teria que comitar após o post.
GOSTEI 0
Doom
04/11/2004
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?
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?
GOSTEI 0
Gandalf.nho
04/11/2004
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.
GOSTEI 0
Doom
04/11/2004
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...
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...
GOSTEI 0
Afarias
04/11/2004
tente::
T+
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+
GOSTEI 0