Fórum Key Violation .. Socooorro!! #192977

05/11/2003

0

Estou com o seguinte de violação de chave, porém gostaria de saber em qual registro que eu estou inserindo está dando o erro. Como que faz ??

Estou usando:

 try
    QR_APS.ApplyUpdates;
  except
  end;




Cicerojr

Cicerojr

Responder

Posts

05/11/2003

Czapelini

Se vc está utilizando Delphi 6 ou 7, vá em file->new->other
Selecione a paleta Dialogs e crie um novo reconcile error.

Salve a unit e inclua no uses de sua aplicação.

Depois selecione seu ClientDataSet e vá no evento On.....Error (não me lembro o nome exato do evento).
Nesse evento faça a chamada do nome reconcile error. A chamada do mesmo se faz assim:
Action:=handle....... (também não lembro do nome correto) mas clique em ctrl+barra de espaço que autocompletará.

Execute e no momento do ApllyUpdates, se ocorrer um erro no banco, será enviada uma mensagem com o tipo de erro que ocorreu.

Desculpe eu não lembrar o nome dos eventos, mas é que no momento estou na aula, e não tenho o delphi instalado para conferir.

Espero ter ajudado um pouquinho!

Um abraço e até mais!


Responder

Gostei + 0

05/11/2003

Cicerojr

Se vc está utilizando Delphi 6 ou 7, vá em file->new->other Selecione a paleta Dialogs e crie um novo reconcile error. Salve a unit e inclua no uses de sua aplicação. Depois selecione seu ClientDataSet e vá no evento On.....Error (não me lembro o nome exato do evento). Nesse evento faça a chamada do nome reconcile error. A chamada do mesmo se faz assim: Action:=handle....... (também não lembro do nome correto) mas clique em ctrl+barra de espaço que autocompletará. Execute e no momento do ApllyUpdates, se ocorrer um erro no banco, será enviada uma mensagem com o tipo de erro que ocorreu. Desculpe eu não lembrar o nome dos eventos, mas é que no momento estou na aula, e não tenho o delphi instalado para conferir. Espero ter ajudado um pouquinho! Um abraço e até mais!



Valeu!! Vou tentar.
Obrigado por ter respondido a minha pergunta.


Responder

Gostei + 0

05/11/2003

Sam

Amigão vc está informando dados para a chave que já existem no seu banco de dados, revise com cuidado a sua estrutura de chaves para evitar este tipo de acontecimento.

Vc também pode tratar este erro com mensagens, por exemplo, no campo ONEXIT do DBEDIT na qual referencia a CHAVE vc pode verificar se este dado informado já existe no banco retornando uma mensagem mais amigavel e alterando o valor do DBEDIT para um valor que não exista na banco ainda.

Lembre-se que as chaves devem ser únicas pois elas identificam as tuplas.

Espero ter ajudado.

Abraços !!


Responder

Gostei + 0

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

Aceitar