Fórum Problemas para atualizar os dados no banco de dados. #296890

25/09/2005

0

Olá pessoal, estou aqui para pedir uma ajuda, estou fazendo meu projeto final de conclusão de curso, e esta acontecendo o seguinte problema no momento de salvar, não esta atualizando no banco de dados a informção, sempre esta dando Key Violantion.

Este é meu código do botão SALVAR !

Module.quTemp.Close;
Module.quTemp.SQL.Clear;
Module.quTemp.SQL.Add(´SELECT MAX(Fabri_Cod) AS MaxCod ´);
Module.quTemp.SQL.Add(´FROM SIGA_FABRI ´);
Module.quTemp.Open;
Module.qFabricanteFABRI_COD.Value := Module.quTemp.FieldByName(´MaxCod´).AsInteger + 1;
Module.quTemp.Close;
Module.qFabricante.Post;
{coloquei o ApplyUpdate pq nao estava gravando em banco}
Module.qFabricante.Refresh;
BAlterar.Enabled := True;
BIncluir.Enabled := True;
BExcluir.Enabled := True;
BProcurar.Enabled := True;
BAjuda.Enabled := True;
PnlDados.Enabled := False;
BGravar.Enabled := False;

quando vai salvar a primeira vez ele pega o MAX corretamente, mas depois que ele salva a segunda vez o MAX dele continua o mesmo da ultima vez que foi salvo.

Estou utilizando banco de dados Interbase, e os seguintes componentes, IBquery, IBTRansaction, IbUpdate, Datasource.
Me ajudem por favor ..
Obrigado. :D


Eliel_martins

Eliel_martins

Responder

Posts

26/09/2005

Pezzin

Tudo indica que está faltando comitar o banco após o Post.

Module.quTemp.Close; 
Module.quTemp.SQL.Clear; 
Module.quTemp.SQL.Add(´SELECT MAX(Fabri_Cod) AS MaxCod ´); 
Module.quTemp.SQL.Add(´FROM SIGA_FABRI ´); 
Module.quTemp.Open; 
Module.qFabricanteFABRI_COD.Value := Module.quTemp.FieldByName(´MaxCod´).AsInteger + 1; 
Module.quTemp.Close; 
Module.qFabricante.Post; 
IBTransaction.Commit;



Responder

Gostei + 0

26/09/2005

Pezzin

Desculpe mas é comando correto é CommitRetaining;


Responder

Gostei + 0

26/09/2005

Gandalf.nho

[b:71cbc46bd3][color=red:71cbc46bd3]Bloqueado por Infração às Regras de Conduta :[/color:71cbc46bd3][/b:71cbc46bd3]

Duplicidade.
[url]http://forum.clubedelphi.net/viewtopic.php?t=68472[/url]

Para maiores esclarecimentos pode mandar-me uma [url=http://forum.clubedelphi.net/privmsg.php?mode=post&u=8378]Mensagem Particular[/url].


Responder

Gostei + 0

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

Aceitar