desculpe eu errei .. o correto é poCascadeDeletes ... uma propriedade no options do DSP, habilitei ela, pois msm usando o cascade no banco sem a msm como true, ocorria um erro na exclusao ... mas agora está tudo ok.
----- Original Message ----- From: Ricardo César Cardoso To: delphi-br@yahoogrupos.com.br Sent: Wednesday, May 09, 2007 8:56 AM Subject: Re: RES: RES: [delphi-br] Apagar master-detail Tudo bem, isso eu tb sei, o problema é onde achar este evento no TDataSetProvider ou em qualquer membro da classe TProvider, pq eu não achei. Obs: uso Delphi 2005, pode ser isso. BandaLemuel <[EMAIL PROTECTED]> escreveu: Se estiver usando o banco interbase.... voce pode criar uma trigger na Tabela Master... onBeforeDelete.. e deletar os detalhes antes de deletar o master... isso ficará transparente no aplicativo.... Wesley ----- Original Message ----- From: Ricardo César Cardoso To: delphi-br@yahoogrupos.com.br Sent: Wednesday, May 09, 2007 8:35 AM Subject: Re: RES: RES: [delphi-br] Apagar master-detail OK Magnum, entendido. Mas fiquei com a pulga atrás da orelha... Não achei o "OnCascadeDelete" no TDataSetProvider... mas deixa pra lá, era só curiosidade mesmo. Como prometido aqui vai o prometido para a exclusão de details em relações "Mestre/Detalhes" extraido da edição n°3 (Maio/2004) da revista "ActiveDelphi" - Artigo "Trabalhando com ClientDataSet" de Eduardo Rocha: [citação] 4 - Quando Excluo um registro no ClientDataSet "Master", os registros no ClientDataSet "Detail" serão excluídos automaticamente? Não, isso deverá ser feito manualmente. Normalmente coloco o seguinte código no evento BeforeDelete do ClientDataSet "Master": [codigo] with ClientDataSetDetail do while not IsEmpty do Delete; [/codigo] O Provider possui uma opção de exclusão em cascata, mas isso só resolve no caso do banco suportar e de ter sido definido na foreign key. [/citação] Pois é... até aqui o Eduardo Rocha diz que existe, mas não consegui achar, mesmo usando FB e usando uma base de teste oferecendo o On Delete Cascade no Script de geração do banco. Resumo: tb estou na dúvida. Sds, Ricardo. Magnun Oliveira <[EMAIL PROTECTED]> escreveu: opa antes de mais nada naum se trata de não querer, tipo preguiça hehe Como existe OnCascadeDelete no Provider quando se usa cascade no banco, simplesmente perguntei se existia uma configuração q fizesse o tal, sem o cascade, para nao ficar reinventando roda. Mas como informaram q nao existe fiz algumas alterações em umas telas aqui e coloquei o cascade no banco msm. Ricardo, fique a vontade se quizer mandar o exemplo, pq msm naum servindo pra mim, pode vir a servir pra alguem aqui. Vlw. ----Original Message Follows---- From: Ricardo César Cardoso <[EMAIL PROTECTED]> Reply-To: delphi-br@yahoogrupos.com.br To: delphi-br@yahoogrupos.com.br Subject: Re: RES: RES: [delphi-br] Apagar master-detail Date: Tue, 8 May 2007 16:51:13 -0300 (ART) Pois é Walter... milagre o Delphi ainda não faz... Walter Alves Chagas Junior <[EMAIL PROTECTED]> escreveu: Graaande Ricardão, o homem que mora nos armarios do quarto de mulher casada.... Mas o que ele nao quer, é implementar codigo. E, do jeito que voce propos, ele vai ter que implementar isto do mesmo jeito :) Ai não adianta rs []s Walter Alves Chagas Junior Projeto e desenvolvimento de sistemas Telemont Engenharia de telecomunicações S/A Belo Horizonte - MG - Brasil [EMAIL PROTECTED] Fone: (31) 3389-8217 Fax: (31) 3389-8215 -----Mensagem original----- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] nome de Ricardo César Cardoso Enviada em: terça-feira, 8 de maio de 2007 08:39 Para: delphi-br@yahoogrupos.com.br Assunto: RE: RES: [delphi-br] Apagar master-detail Mas é claro que tem como apagar os registros Detail sem usar o OnDelete do banco... Se vc associou um CDS master a um CDS detail, no evento BeforeDelete do CDS master vc manda apagar os registros do Detail. Eu tenho um exemplo, mas está no meu material em casa... se ninguém te passar nada, amanhã posso te passar exatamente como fazer isso, o evento e o código necessário. Sds, Ricardo. Magnun Oliveira <[EMAIL PROTECTED]> escreveu: OK a duvida era realmente essa, se tem como apagar os detail's automaticamente quando excluir o registro master no cds SEM usar o On delete cascade no banco. Mas como nao rola, vou ter q fazer no braço msm .. vlw. ----Original Message Follows---- From: "Walter Alves Chagas Junior" <[EMAIL PROTECTED]> Reply-To: delphi-br@yahoogrupos.com.br To: <delphi-br@yahoogrupos.com.br> Subject: RES: [delphi-br] Apagar master-detail Date: Mon, 7 May 2007 15:41:17 -0300 Magnum, Você não pode apagar o registro master se ele tiver registros detail. Para fazer isto automaticamente, você tem que mudar a chave estrangeira nas tabelas detail adicionando a cláusula On Delete Cascade nelas []s Walter Alves Chagas Junior Projeto e desenvolvimento de sistemas Telemont Engenharia de telecomunicações S/A Belo Horizonte - MG - Brasil [EMAIL PROTECTED] Fone: (31) 3389-8217 Fax: (31) 3389-8215 -----Mensagem original----- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] nome de Magnun Oliveira Enviada em: segunda-feira, 7 de maio de 2007 11:53 Para: delphi-br@yahoogrupos.com.br Assunto: [delphi-br] Apagar master-detail Fiz um master detail com CDS, inserção e alteração dah tudo certo, porem, se eu for apagar um registro master com no minimo 1 detail dah esse erro: 'cannot delete master records with details' se eu apagar um registro master sem nenhum detail funciona ... Alguma saca como resolver? vlw ... __________________________________________________________ MSN Hotmail, o maior webmail do Brasil. http://www.hotmail.com -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Links do Yahoo! Grupos __________________________________________________________ MSN Busca: fácil, rápido, direto ao ponto. http://search.msn.com.br __________________________________________________ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Links do Yahoo! Grupos __________________________________________________ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas] __________________________________________________________ MSN Hotmail, o maior webmail do Brasil. http://www.hotmail.com __________________________________________________ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas] ---------------------------------------------------------- No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.5/793 - Release Date: 7/5/2007 14:55 [As partes desta mensagem que não continham texto foram removidas] __________________________________________________ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]