AdoQuery Exception

21/02/2003

0

Alguém saberia como tratar erros de AdoQuery em uma instrução de Insert, quando há registro duplicados gerando erro de Chave Primaria?

Quando tento inserir um registro que já existe na tabela retorna o erro:

´EOleException with message Violation of Primary Key´

o Bloco Try..Except não trata esse erro, usei esse código:

Try
AdoQUERY1.ExecSQL;
Except on EOleException do begin
<<< erro >>>
end;
end;


O processo é demorado não dá pra checar se o registro existe antes pois iria demorar ainda mais.

Utilizo Delphi6, SQL Server conexão ADO.

Agradeço qualquer resposta.


Okama

Okama

Responder

Posts

21/02/2003

Fred

depende, qual campo é a chave primaria? ser for um codigo do tipo integer coloque este campo como autoincrement que ele nao vai duplicar e dar erro. 8)


Responder

21/02/2003

Okama

Olá Fred,

Tenho três campos como PK: codigo, data e hora.
Pode haver vários códigos mas nunca na mesma data e hora.


Responder

22/02/2003

Anonymous

Estou com o mesmo problema com OleException e OleSysError so que trabalho com Access + ADO.......

Estava querendo fazer o tratamento do ERRO ==> EOleExcpition: ´ O mecanismo de Banco de Dados Microsoft Jet interrompeu o processo porque você e outro usuário estão tentando alterar os mesmos dados ao mesmo tempo.´

Porque não trabalho com as caixas de mensagens do o windows..eu é que trato as mensagens com as do BDE fiz uma Form que recebe as mensagens por isso a minha dúvida...

Descobri alguns código de erros da Microsoft pesquisando muito só que não consegui resolver o meu problema...... capturar e tratar este erro pq.
TB fiz o bloco try e nao funcionou...... descobri que o código deste erro é 3197 no access.....

posso te mandar o arquivo não sei se vai ajudar......


Responder

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

Aceitar