Fórum Inserir registro com Master/Detail #346196
18/09/2007
0
Fiz várias pesquisas aqui no forum e ainda estou com duvidas. O problema é o seguinte:
Estou trabalhando com DBXpress e master/detail, sem grandes problemas, faço os relacionamentos dos cds e tudo funciona bem.
Quero incluir um novo registro nesta estrutura, pelo que pesquisei aqui, a solução que encontrei foi atraves de um generator, onde rodaria uma rotina (sp) que me retornaria o codigo desta tabela master (pk), antes de gravar, inseriria este codigo no cds master e depois executando o applyupdate.
Minha duvida, o clientdataset não consegue retornar este valor automaticamente? Imaginei algo desta forma:
if cds_master.applyupdates(0) = 0 then
//neste momento ja teria a chave do registro master
if cds_detail.applyupdates(0) = 0 then
Showmessage(´registro gravado com sucesso´);
Assim não precisaria executar um store procedure para buscar a chave da tabela master antes de mandar gravar no banco.
Isto é possível? Ou estou viajando.
Abraços
Rodolfo
Rodolfo.pirolo
Curtir tópico
+ 0Posts
18/09/2007
Mmoreira
No meu caso eu trabalho com Firebird e funciona perfeitamente.
Qualquer duvida posta ai.
Abs!
Gostei + 0
18/09/2007
Raserafim
eu faço da seguinte forma.
antes de salvar eu pego o próimo código disponível, então coloco no registro Master e em todos os registros Detalhe
dá uma olhada neste post que vai te ajudar:
[url]http://forum.devmedia.com.br/viewtopic.php?t=89900&highlight=[/url]
Gostei + 0
19/09/2007
Rodolfo.pirolo
Não gostaria de ter que rodar uma rotina antes de mandar gravar o cds_master, pensei que o cds tivesse algum evento que retorne o registro que foi gravado.
Então, vamos fazer o que todo mundo faz.
Obrigado pelas respostas.
Abraços
Rodolfo
Gostei + 0
19/09/2007
Raserafim
eu não conheço.
mas sugiro que tente mais um pouco e nos avise se encontrar alguma outra forma.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)