Delphi está decrementando o campo auto_increment

24/11/2019

0

Pessoal, estou desenvolvendo uma aplicação, e ocorre o seguinte depois de criar o banco e tabela pelo phpmyadmin, insiro os codigos no delphi para gravar um dado, e o campo id, que está setado para auto incrementar o valor, ele simplesmente faz o contrario, e percebi, pois da erro no terceiro cadastro. Fiz o teste inserindo dados direto pelo phpmyadmin, e ele incrementa corretamente, pelo delphi, atraves dos boltoes personalizados, e pelo dbnavigator, ele decrementa, pra mim deve estar faltando alguma coisa nos componentes, estou usando o firedac, veja meu codigo:

 procedure Tfrm_matriz.btnsalvarClick(Sender: TObject);
begin
if (edtnome.Text <> ' ') and (edtebdereco.Text <> '') then
begin
associarcampos;
dm.tb_matriz.Post;
MessageDlg('Salvo com Sucesso!', mtInformation, mbOKCancel, 0);
buscartudo;
desabilitarcampos;
btnsalvar.Enabled := false;
btnnovo.Enabled := true;
end
  else
  begin
   MessageDlg('Preencha os Campos', mtInformation, mbOKCancel, 0);
  end;
end;


obrigado e se tiverem alguma sugestão de como deve ficar o componente firedac (pq nao vi nada alem de coloca-lo e depois apontar o banco). aceito as ideias, abraços..
Deuzenildo Nascimento

Deuzenildo Nascimento

Responder

Post mais votado

04/12/2019

Olá, desculpa a demora, eu ia deixar a solução aqui, mas infelizmente o tempo passou e não consegui postar, segue abaixo:

Primeiro eu perguntei ao professor, mas sem respostas, busquei na internet, também não achei nada que fosse especifico, coloquei aqui, houve algumas interações, também, não era o que precisava.

Fiz o seguinte: removi a tabela, criei outra, mesmo resultado de decremento,
analisei os componentes, não vi nada de diferente (faltou olhar melhor);
comecei a investigar minunciosamente cada componente comparando um com o outro, pois se um incrementava e outro não, o problema só podia estar no componente, logo descobri que o componente em questão, tinha as propriedades diferentes dos demais, tentei mudar, mas sem sucesso;

removi esses componentes problemáticos e inseri outros, fiz os ajustes padrões da aplicação, e tudo normalizou.

Dica:
investigue, analise profundamente, não espere receitas de bolo que nunca iremos aprender nada.

Abraços..

Deuzenildo Nascimento

Deuzenildo Nascimento
Responder

Mais Posts

25/11/2019

Deuzenildo Nascimento

Pessoal, estou desenvolvendo uma aplicação, e ocorre o seguinte depois de criar o banco e tabela pelo phpmyadmin, insiro os codigos no delphi para gravar um dado, e o campo id, que está setado para auto incrementar o valor, ele simplesmente faz o contrario, e percebi, pois da erro no terceiro cadastro. Fiz o teste inserindo dados direto pelo phpmyadmin, e ele incrementa corretamente, pelo delphi, atraves dos boltoes personalizados, e pelo dbnavigator, ele decrementa, pra mim deve estar faltando alguma coisa nos componentes, estou usando o firedac, veja meu codigo:

 procedure Tfrm_matriz.btnsalvarClick(Sender: TObject);
begin
if (edtnome.Text <> ' ') and (edtebdereco.Text <> '') then
begin
associarcampos;
dm.tb_matriz.Post;
MessageDlg('Salvo com Sucesso!', mtInformation, mbOKCancel, 0);
buscartudo;
desabilitarcampos;
btnsalvar.Enabled := false;
btnnovo.Enabled := true;
end
  else
  begin
   MessageDlg('Preencha os Campos', mtInformation, mbOKCancel, 0);
  end;
end;


obrigado e se tiverem alguma sugestão de como deve ficar o componente firedac (pq nao vi nada alem de coloca-lo e depois apontar o banco). aceito as ideias, abraços..


Olá, alguma dica? Alguém teria uma ideia?

Obrigado.
Responder

25/11/2019

Deuzenildo Nascimento

Pessoal, estou desenvolvendo uma aplicação, e ocorre o seguinte depois de criar o banco e tabela pelo phpmyadmin, insiro os codigos no delphi para gravar um dado, e o campo id, que está setado para auto incrementar o valor, ele simplesmente faz o contrario, e percebi, pois da erro no terceiro cadastro. Fiz o teste inserindo dados direto pelo phpmyadmin, e ele incrementa corretamente, pelo delphi, atraves dos boltoes personalizados, e pelo dbnavigator, ele decrementa, pra mim deve estar faltando alguma coisa nos componentes, estou usando o firedac, veja meu codigo:

 procedure Tfrm_matriz.btnsalvarClick(Sender: TObject);
begin
if (edtnome.Text <> ' ') and (edtebdereco.Text <> '') then
begin
associarcampos;
dm.tb_matriz.Post;
MessageDlg('Salvo com Sucesso!', mtInformation, mbOKCancel, 0);
buscartudo;
desabilitarcampos;
btnsalvar.Enabled := false;
btnnovo.Enabled := true;
end
  else
  begin
   MessageDlg('Preencha os Campos', mtInformation, mbOKCancel, 0);
  end;
end;


obrigado e se tiverem alguma sugestão de como deve ficar o componente firedac (pq nao vi nada alem de coloca-lo e depois apontar o banco). aceito as ideias, abraços..


Olá, alguma dica? Alguém teria uma ideia?

Obrigado.


Ninguem???
Responder

27/11/2019

Manoel Junior

Bom dia, o auto increment está ativo no phpmyadmin?
Responder

27/11/2019

Deuzenildo Nascimento

Bom dia, o auto increment está ativo no phpmyadmin?

Opa, sim , está ativo, tanto que está decrementamdo. Eu conferi umas dez vezes.
Responder

03/12/2019

Manoel Junior

Conseguiu resolver? Compartilha sua experiência...
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar