Erro violation of PRIMARY or UNIQUE KEY constraint
Boa tarde pessoal,
Estava usando o meu aplicativo de teste normalmente que tenho e começou a aparecer essa mensagem ao gravar
Estou meio perdido com esse @1 e @2 que aparecem
Estou usando banco firebird (2.5) e o Delphi 2010
Estava usando o meu aplicativo de teste normalmente que tenho e começou a aparecer essa mensagem ao gravar
violation of PRIMARY or UNIQUE KEY constraint "@1" on table "@2"
Estou meio perdido com esse @1 e @2 que aparecem
Estou usando banco firebird (2.5) e o Delphi 2010
Usuario
Curtidas 0
Respostas
William
18/03/2016
Basicamente essa mensagem quer dizer que você está tentando gravar um valor repetido em um campo que é PRIMARY KEY ou UNIQUE KEY, ou seja, esses tipos não aceitam valores duplicados na tabela.
GOSTEI 0
Usuario
18/03/2016
Até ai tudo bem...
Só queria saber o motivo de apresentar @1 e @2 no lugar dos nomes da constraint e da tabela
Pq faço várias inserções ao gravar... queria saber em qual tabela está dando o erro para ter uma noção de onde corrigir...
Só queria saber o motivo de apresentar @1 e @2 no lugar dos nomes da constraint e da tabela
Pq faço várias inserções ao gravar... queria saber em qual tabela está dando o erro para ter uma noção de onde corrigir...
GOSTEI 0
William
18/03/2016
Esses "@" indicam parametrizações, então aconselho você a testar esses INSERTs via ferramentas IBExpert, com isso terá um feedback melhor dos erros.
GOSTEI 0
Zildo
18/03/2016
---------------------------
Free SNGPC - Sistema Nacional de Gerenciamento de Produtos Controlados
---------------------------
SQL Error: violation of PRIMARY or UNIQUE KEY constraint "PK_MEDICO" on table "MEDICO" Problematic key value is ("CRM" = '9699'). Error Code: -803. can't format message 13:197 -- message file C:\\Windows\\firebird.msg not found The SQL: INSERT INTO MEDICO (CRM,MEDICO,CONSELHO,UF,CADASTRO) VALUES (?,?,?,?,?);
---------------------------
OK
---------------------------
Ocorre na hora qua mando gravar um medico que ja existe! Quero colocar uma mensagem no delphi e nao estou conseguindo.
Free SNGPC - Sistema Nacional de Gerenciamento de Produtos Controlados
---------------------------
SQL Error: violation of PRIMARY or UNIQUE KEY constraint "PK_MEDICO" on table "MEDICO" Problematic key value is ("CRM" = '9699'). Error Code: -803. can't format message 13:197 -- message file C:\\Windows\\firebird.msg not found The SQL: INSERT INTO MEDICO (CRM,MEDICO,CONSELHO,UF,CADASTRO) VALUES (?,?,?,?,?);
---------------------------
OK
---------------------------
Ocorre na hora qua mando gravar um medico que ja existe! Quero colocar uma mensagem no delphi e nao estou conseguindo.
GOSTEI 0
Zildo
18/03/2016
---------------------------
Free SNGPC - Sistema Nacional de Gerenciamento de Produtos Controlados
---------------------------
SQL Error: violation of PRIMARY or UNIQUE KEY constraint "PK_MEDICO" on table "MEDICO" Problematic key value is ("CRM" = ''9699''). Error Code: -803. can''t format message 13:197 -- message file C:\\\\Windows\\\\firebird.msg not found The SQL: INSERT INTO MEDICO (CRM,MEDICO,CONSELHO,UF,CADASTRO) VALUES (?,?,?,?,?);
---------------------------
OK
---------------------------
Ocorre na hora qua mando gravar um medico que ja existe! Quero colocar uma mensagem no delphi e nao estou conseguindo.
Free SNGPC - Sistema Nacional de Gerenciamento de Produtos Controlados
---------------------------
SQL Error: violation of PRIMARY or UNIQUE KEY constraint "PK_MEDICO" on table "MEDICO" Problematic key value is ("CRM" = ''9699''). Error Code: -803. can''t format message 13:197 -- message file C:\\\\Windows\\\\firebird.msg not found The SQL: INSERT INTO MEDICO (CRM,MEDICO,CONSELHO,UF,CADASTRO) VALUES (?,?,?,?,?);
---------------------------
OK
---------------------------
Ocorre na hora qua mando gravar um medico que ja existe! Quero colocar uma mensagem no delphi e nao estou conseguindo.
GOSTEI 0
Arthur Heinrich
18/03/2016
Você tem várias opções para isso:
1 - Pode tratar o erro, usando try/catch, para que o erro não seja exibido
2 - Pode checar se o registro já existe e ignorar
3 - Pode modificar o comando para só inserir se não existe
4 - Pode modificar o comando para inserir quando não existe e modificar quando existe
1 - Pode tratar o erro, usando try/catch, para que o erro não seja exibido
2 - Pode checar se o registro já existe e ignorar
3 - Pode modificar o comando para só inserir se não existe
4 - Pode modificar o comando para inserir quando não existe e modificar quando existe
GOSTEI 0