Delete ForeignKeys

Delphi

28/06/2007

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

Curtidas 0

Respostas

Nightshade

Nightshade

28/06/2007

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


GOSTEI 0
POSTAR