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

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

25/09/2005

Lab

insira duas linha e faça um teste:

Module.IBTransaction1.StartTransaction // inicia uma transação

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.IBTransaction1.Commit // grava no bd


Responder

Gostei + 0

25/09/2005

Eliel_martins

Lab, coloquei essas duas linhas antes tb, mas não adiantou, esta muito estranho o que esta acontecendo esses problemas, o interessante é que estava funcionando antes, agora que começou a dar esses problemas.

Se alguem tiver alguma solução me ajudem ... Obrigado !


Responder

Gostei + 0

25/09/2005

Bruno Belchior

se vc não tiver nenhum registro no BD ele retornará null, isso seria uma violação de chave primária... vc tem algum registro já adicionado :?:


Responder

Gostei + 0

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

Aceitar