Fórum Delete ForeignKeys #343096

28/06/2007

0

Tenho uma DBGrid e Varios DBEdit linkados a um DataSource que esta setado por uma ADOQuery!
Quando tento excluir um registro (ADOQuery.delete), aparece um erro... mas o registro é apagado da mesma forma...

ERRO: A instrução DELETE conflitou com a restrição do REFERENCE ´FK_contas_categorias´. O conflito ocorreu no bando de dados ´contasSQL´, tabela ´dbo.contas´, column ´idCategoria´´


o que é esse erro?! O que posso estar fazendo de errado!?


Nivaldin

Nivaldin

Responder

Posts

28/06/2007

Nightshade

cara tu nao pode excluir uma row com uma Foragein Key
a chave estrangeira na construçao se tu deseja que ela seje dropada quando excluir o registro, ( drop cascated ) tem um parametro que tu tem q colocar na construçao de sua FK.. (olhar referencia de access para isto)

outra coisa, ele não deveria deixar deletar uma row com uma FK nela..

se eh so o erro que tu quer tirar, faz assim

onclick...

begin
   try
    ADOQuery.Delete;
   except
  
   end;
end;


coloca assim no evento q tu xama a exclusão..
ele vai continuar dando erro de vialação de foragein key..
eh uma gambiarra mas se ta deletando tenta assim hehehhe

mas igual te recomendo dar uma olhada sobre chaves primarias, chaves estrangeiras, estrutura de banco de dados..

saber para que serve cada tipo de dado (Ex: varchar, char, int4, integer...)

abç..

espero ter t ajudado em algo


Responder

Gostei + 0

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

Aceitar