Ajuda com UPDATE FALIED!

Delphi

26/08/2014

Boa tarde pessoal, sou relativamente novo com delphi, estou enfrentando um problema deveras complicado.

Nessa img eu tenho duas partes, uma que cadastra o boleto e outra que eu consulto e mudo o status.

[img]http://arquivo.devmedia.com.br/forum/imagem/365751-20140826-165814.jpg[/img]

O cadastro funciona normalmente.
Depois que eu cadastro eu escrevo o nome do cliente o edit inferior e ele me retorna no grid os nomes iguais ou parecido.

Até ai blz, ai vem o problema a...

- 2 botoes " AVISADO e NÃO ENCONTRADO " para a coluna " AVISO "
- 3 botões " PAGO " " DEVE " " CANCELADO " para a coluna " STATUS "

nesses botões a o seguinte cod:

M.IBQuery4.Edit;
DBEDIT29.Text := 'AVISADO';
M.IBQuery4.POST;


Oque é simples. Mas quando eu clico pra ele altera o campo da esse erro maldito! Eu já não sei mais onde mexer.
Obs. em registros antigos ele muda o campo e nao da erro, mas nos novos boletos que ponho ele da erro.
Bruno Souza

Bruno Souza

Curtidas 0

Melhor post

Joel Rodrigues

Joel Rodrigues

27/08/2014

Você tem um campo auto incremento nesta tabela? Se sim, pode ser que ele não esteja sendo preenchido assim que você insere o registro. Aí, quando tenta fazer o update com base nesse campo chave, a atualização falha por não ter valor no campo.
GOSTEI 1

Mais Respostas

Renato Rubinho

Renato Rubinho

26/08/2014

Buenos,

Se dá erro apenas após a inserção, ele pode estar em modo de inserção ainda.
Tenta dar o Edit, apenas quando a query não estiver em modo de inserção ou edição. Talvez funcione assim.

if not (M.IBQuery4.State in [dsInsert,dsEdit]) then
  M.IBQuery4.Edit;

DBEDIT29.Text := 'AVISADO';
M.IBQuery4.POST;


Abraççç,
Renato
GOSTEI 1
Bruno Souza

Bruno Souza

26/08/2014

JOEL > O auto incremento esta funcionando sim, todos os registros estão recebendo seus valores.
E como eu não estou inserindo um novo registro e sim apenas alterando um campo não deveria ter motivo para esse erro.
E mesmo eu indo direto no grid e digitando e dando enter ele tbm da o erro.

RRUBINHO > Continuou com o erro.
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

26/08/2014

Qual é o tipo desse campo no banco?
GOSTEI 0
Bruno Souza

Bruno Souza

26/08/2014

Consegui resovler essa etapa.

Eu uso assim do meu datamodule> IBQUERY + datasource + IBUpdateSQL.
No IBUpdateSQL no KEY FILDS eu tinha mais de um selecionado oq gerava o erro do UPDATE.
GOSTEI 0
Bruno Souza

Bruno Souza

26/08/2014

Consegui resovler essa etapa.

Eu uso assim do meu datamodule> IBQUERY + datasource + IBUpdateSQL.
No IBUpdateSQL no KEY FILDS eu tinha mais de um selecionado oq gerava o erro do UPDATE.
GOSTEI 0
Bruno Souza

Bruno Souza

26/08/2014

lago a resposta desuclem
GOSTEI 0
POSTAR