Apagar um Grupo e tudo ligado a ele!!
Olá pessoal, estou fazendo um catalogador de revistas.. pra eu poder catalogar uma revista, preciso de um grupo.. é obrigatório.. tenho um subgrupo como opcional.. eu posso cadastrar uma revista dentro de um grupo ou dentro de um subgrupo, q esta dentro do grupo.. minha dúvida é a seguinte, na hora q eu for apagar um grupo, eu kero dar a certeza pro usuario q ele vai apagar o grupo e tudo relacionado a ele, como subgrupos e revistas.. como posso fazer essa exclusao em cascata? grato pela ajuda..
Allan Elias Ramos :?:
Allan Elias Ramos :?:
Aersoftware
Curtidas 0
Respostas
Aersoftware
14/05/2004
Complicado demais? :cry:
Allan Elias Ramos :cry:
Allan Elias Ramos :cry:
GOSTEI 0
Adilsond
14/05/2004
Não. Complicado é tentar advinhar qual banco estás utilizando. Existem várias formas de fazer isto, e dependendo do seu banco de dados pode ser feita via Trigger, StoredProcedure, Código SQL ou função no delphi. Tente ser mais explícito em suas perguntas. OK.
GOSTEI 0
Gustavoguim
14/05/2004
O seguinte tente detalhar um pouco mais o seu banco de dados....
que tipo de BD vc utiliza....
qualquer coisa gustavoguim@yahoo.com.br..... :)
que tipo de BD vc utiliza....
qualquer coisa gustavoguim@yahoo.com.br..... :)
GOSTEI 0
Aersoftware
14/05/2004
Não. Complicado é tentar advinhar qual banco estás utilizando. Existem várias formas de fazer isto, e dependendo do seu banco de dados pode ser feita via Trigger, StoredProcedure, Código SQL ou função no delphi. Tente ser mais explícito em suas perguntas. OK.
Nossa, acordamos de pé esquerdo hj.. mas tudo bem.. :wink:
O seguinte tente detalhar um pouco mais o seu banco de dados....
que tipo de BD vc utiliza....
Gustavo, estou usando um banco em Access e conexão via Ado.. mas ja estou migrando o bd pra Firebird 1.5 com conexao pelo dbexpress... grato pela ajuda.. :roll:
Allan Elias Ramos :roll:
GOSTEI 0
Adilsond
14/05/2004
Voce pode:
1 - Criar uma ´consulta exclusão´ no access com parametros que será a chave da tabela mestre e utilizar um componente StoredProcedure. No evento BeforeDelete de sua table/query montar os parametros e executar a storedprocedure.
ou
2 - No access crie uma ´consulta exclusão´, vá na opção sql e copie a query gerada. No delphi coloque um componente para Query e cole o sql na propriedade sql. Troque o nome dos parametros pelo mesmo nome dos campos de sua tabela maters com ´:´ na frente para dizer que são parametros. Associe a propriedade DataSource ao datasource ligado na table/query master. No evento BeforeDelete da table/query master voce executa a query. MinhaQuery.ExecSQL (os parametros serão passados automaticamente, com a associação da propriedade DataSource).
ou
3 - Crie uma table/query detail e no evento BeforeDelete voce a abre e faz a exclusão de linha a linha. Ex:
begin
MinhaQuery/MinhaTable.Open;
while not MinhaQuery/MinhaTable.EOF do
MinhaQuery/MinhaTable.Delete;
MinhaQuery/MinhaTable.Close;
end;
1 - Criar uma ´consulta exclusão´ no access com parametros que será a chave da tabela mestre e utilizar um componente StoredProcedure. No evento BeforeDelete de sua table/query montar os parametros e executar a storedprocedure.
ou
2 - No access crie uma ´consulta exclusão´, vá na opção sql e copie a query gerada. No delphi coloque um componente para Query e cole o sql na propriedade sql. Troque o nome dos parametros pelo mesmo nome dos campos de sua tabela maters com ´:´ na frente para dizer que são parametros. Associe a propriedade DataSource ao datasource ligado na table/query master. No evento BeforeDelete da table/query master voce executa a query. MinhaQuery.ExecSQL (os parametros serão passados automaticamente, com a associação da propriedade DataSource).
ou
3 - Crie uma table/query detail e no evento BeforeDelete voce a abre e faz a exclusão de linha a linha. Ex:
begin
MinhaQuery/MinhaTable.Open;
while not MinhaQuery/MinhaTable.EOF do
MinhaQuery/MinhaTable.Delete;
MinhaQuery/MinhaTable.Close;
end;
Nossa, acordamos de pé esquerdo hj.. mas tudo bem..
:roll:GOSTEI 0
Aersoftware
14/05/2004
Hmmm.. vou dar uma estudada nesses exemplos.. valeu Adilson, abração.. :wink:
Allan Elias Ramos :roll:
Allan Elias Ramos :roll:
GOSTEI 0
Rômulo Barros
14/05/2004
With(Query)Do Begin Close; Sql.Add(´Delete from Revistas where CodSubGrupo = ´ +´(select CodSubGrupo from SubGrupo where CodGrupo = ´ + QryGrupo.FieldByName(´CodGrupo´).AsString + )´); ExecSql; Close; Sql.Add(´Delete from SubGrupo where CodGrupo = ´ + QueryGrupo.FieldByName(´CodGrupo´).AsString); ExecSql; End;
GOSTEI 0