Key Violation .. Socooorro!!
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:
Estou usando:
try QR_APS.ApplyUpdates; except end;
Cicerojr
Curtidas 0
Respostas
Czapelini
05/11/2003
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!
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!
GOSTEI 0
Cicerojr
05/11/2003
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.
GOSTEI 0
Sam
05/11/2003
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 !!
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 !!
GOSTEI 0