Problemas para exclusão de dados em tabela relacionada

Delphi

11/12/2012

Eu possuo duas tabelas em um relacionamento
na tabela PROMOCAO(ID,OUVINTES(Chave Estrangeira para Ouvintes),DATA)
na tabela OUVINTES(ID(PK),NOME,...)

Fiz um relacionamento para ao inves de aparecer o id do ouvinte apareça o nome, mas quando vou excluir algum registro não permite a exclusão.. Segue abaixo SQL referente ao relacionamento

select p.promocao,o.nome,p.data,p.ouvintes,p.id,o.id
from ouvintes o, promocao p
where p.ouvintes=o.id

Criei uma query para poder buscar estar infomações queryLista, a query original é a queryPromocaoOuvinte
E também quando grava algum dado só depois que fecho o programa que atualiza na minha queryLista.
Já tentei commit, applyUpdates.. e nada deu certo.

Desde já agradeço pela atenção!
Samuel Lopes

Samuel Lopes

Curtidas 0

Respostas

William

William

11/12/2012

Vem a dúvida, de qual tabela vc pretende excluir o registro?
GOSTEI 0
Samuel Lopes

Samuel Lopes

11/12/2012

Eu possuo duas tabelas em um relacionamento
na tabela PROMOCAO(ID,OUVINTES(Chave Estrangeira para Ouvintes),DATA)
na tabela OUVINTES(ID(PK),NOME,...)

Fiz um relacionamento para ao inves de aparecer o id do ouvinte apareça o nome, mas quando vou excluir algum registro não permite a exclusão.. Segue abaixo SQL referente ao relacionamento

select p.promocao,o.nome,p.data,p.ouvintes,p.id,o.id
from ouvintes o, promocao p
where p.ouvintes=o.id

Criei uma query para poder buscar estar infomações queryLista, a query original é a queryPromocaoOuvinte
E também quando grava algum dado só depois que fecho o programa que atualiza na minha queryLista.
Já tentei commit, applyUpdates.. e nada deu certo.

Gostaria de excluir na tabela PROMOCAO.

Desde já agradeço pela atenção!
GOSTEI 0
William

William

11/12/2012

Colega geralmente minhas exclusões uso intruções SQL, no seu caso vc poderia deletar o registro passanso o ID da promoção na cláusula WHERE.

DELETE FROM TablePromocao WHERE ID = (ID Selecionado no DBGrid por exemplo)


Após essa instrução vc manda atualizar seu ClientDataSet.
GOSTEI 0
William

William

11/12/2012

Colega para complementar minha resposta, segui 2 links:

Atualizando apenas 1 tabela configurando flags, esse é do camarada Wesley ak da devmedia mesmo:
[url]https://www.devmedia.com.br/quick-tips-conhecendo-um-pouco-sobre-o-provider-flags/13710[/url]

Esse caso é bem parecido com o seu, e também explica como configurar as flags para deletar apenas registros de 1 tabela:
[url]http://scriptbrasil.com.br/forum/index.php?s=1634f483f35ba6f33cee0a734184524c&showtopic=146960[/url]

Não posso dar maiores detalhes sobre essa técnica pois nunca usei, mas é bom deixar registrado que elas existem.
GOSTEI 0
POSTAR