Re: RES: RES: [delphi-br] Apagar master-detail
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
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
Re: RES: RES: [delphi-br] Apagar master-detail
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
RES: RES: RES: [delphi-br] Apagar master-detail
OnCascade delete é uma clausula de FK no banco de dados e não um metodo do DSP []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: quarta-feira, 9 de maio de 2007 08:35 Para: delphi-br@yahoogrupos.com.br Assunto: 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
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
Re: RES: RES: [delphi-br] Apagar master-detail
è direto no arquivo do banco de dados... não é por dentro do delphi.. abre le no IBConsole e cria uma Trigger... ou no IBOConsole.. (bem mais facil) ... ai qndo vc deletar da master ele deleta sozinho os Details... Wesley - 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
Re: RES: RES: [delphi-br] Apagar master-detail
Obrigado, novamente, pela explicação Wesley. Eu uso essa técnica q vc falou tb. A minha dúvida era se existia o recurso de OnDeleteCascade _DENTRO_ do TProvider pq tanto no texto do Eduardo Rocha que eu passei, como na resposta do Magnum isso foi citado (não claramente) mas como procurei e não achei, e como o Walter corrobou a não existência, não preciso mais procurar por nada disso e ao mesmo tempo tenho certeza que conheço duas boas soluções para este problema. Sds, Ricardo. BandaLemuel [EMAIL PROTECTED] escreveu: è direto no arquivo do banco de dados... não é por dentro do delphi.. abre le no IBConsole e cria uma Trigger... ou no IBOConsole.. (bem mais facil) ... ai qndo vc deletar da master ele deleta sozinho os Details... Wesley - 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
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]
Re: RES: [delphi-br] Apagar master-detail
Uma pergunta .. qual banco vc esta usando Firebird/Interbase ??? Wesley - Original Message - From: Ricardo César Cardoso To: delphi-br@yahoogrupos.com.br Sent: Tuesday, May 08, 2007 8:38 AM Subject: 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] -- 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]
RES: RES: [delphi-br] Apagar master-detail
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
Re: RES: [delphi-br] Apagar master-detail
Só pra complementar... a maneira que eu citei acaba sendo meio que no braço, mesmo, já que vc vai ter que listar (identificar) cada detail existente e daí apagá-lo. Sds, Ricardo. BandaLemuel [EMAIL PROTECTED] escreveu: Uma pergunta .. qual banco vc esta usando Firebird/Interbase ??? Wesley - Original Message - From: Ricardo César Cardoso To: delphi-br@yahoogrupos.com.br Sent: Tuesday, May 08, 2007 8:38 AM Subject: 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] -- 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]
Re: RES: RES: [delphi-br] Apagar master-detail
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]
Re: RES: RES: [delphi-br] Apagar master-detail
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
RES: [delphi-br] Apagar master-detail
Vc tem q apagar os registros detalhes antes do máster Para maiores informações pegue minha apostila sobre desenvolvimento passo a passo client/Server com dbexpress no meu link de downloads gratuitos(abaixo da minha assinatura) E se vc quiser um cadastro mestre/detalhe de alta performance pegue o exemplo do borcon 2006, e verifique o cadastro de pedidos Atenciosamente, Bruno Lichot CodeGegar Product Evangelist http://www.codegear.com http://cc.codegear.com/Author/795118 De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em 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 __ Informação do NOD32 IMON 2247 (20070507) __ Esta mensagem foi verificada pelo NOD32 sistema antivírus http://www.eset.com.br [As partes desta mensagem que não continham texto foram removidas]
RES: [delphi-br] Apagar master-detail
Pra voce fazer isto, você tem que mudar o chavemento das tabelas detail usando a clausula On delete cascade. []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 13:18 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Apagar master-detail opa valeu Marcio, mas naum tem um jeito de fazer o cascade automaticamente pelo cds? detalhe, eu nao posso usar o cascade no banco ... Original Message Follows From: Márcio Ricardo [EMAIL PROTECTED] Reply-To: delphi-br@yahoogrupos.com.br To: delphi-br@yahoogrupos.com.br Subject: Re: [delphi-br] Apagar master-detail Date: Mon, 7 May 2007 12:17:51 -0300 Seu programa está funcionando perfeitamente. Não pode apagar o pai e deixar os filhos orfão. Quando for apagar faça uma busca na tabela filho e apague os primeiros e depois vc apaga o pai, ok? Como se fosse um delete cascade apaga o pai e sai procurando onde o mesmo faz referencia com tabelas filhas se achar apaga os filhos e os pais Márcio Ricardo. - Original Message - From: Magnun Oliveira To: delphi-br@yahoogrupos.com.br Sent: Monday, May 07, 2007 11:52 AM Subject: [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 [As partes desta mensagem que não continham texto foram removidas] _ MSN Messenger: converse com os seus amigos online. http://messenger.msn.com.br -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM Links do Yahoo! Grupos
RES: [delphi-br] Apagar master-detail
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
RE: RES: [delphi-br] Apagar master-detail
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