Bruno, Mas é exatamente esse controle que pensei que o DBX fizesse. Ou seja, controlar isso tudo em memória e só verificasse a integridade quando eu desse o apply na master, que por sua vez, dá o apply na detail. Isso tudo dentro de uma transação controlada pelo próprio DBX.
Não teria que ser assim, ou estou enganado? Veja bem: Eu tenho uma tela onde quero digitar as informações da master e as informações dos vários itens da detail e um botão de salvar, que quando clicado, dá o Apply na master e, consequentemente, na detail. Só que, quando dou o post na detail dá o erro e ae já era. []´s Luis Alberto. --- Bruno Lichot - Micrologos <[EMAIL PROTECTED]> escreveu: > Vc esta aplicando o aplyyupdates no mestre antes da > detail? > > o registro mestre precisa estar ja fisicamente no > banco antes de vc incluir > os detalhes dependentes deste. Talvez possa ser > isso... > > as ordens e no aguardo > > []´s > Bruno Lichot > Micrologos Dream Team > Equipe ClubeDelphi DevMedia > > [EMAIL PROTECTED] > [EMAIL PROTECTED] > > www.micrologos.com.br - www.clubedelphi.net - > www.delphirio.assespro-rj.org.br > ----- Original Message ----- > From: "Luis Lopes" <[EMAIL PROTECTED]> > To: <delphi-br@yahoogrupos.com.br> > Sent: Monday, September 26, 2005 10:37 AM > Subject: Re: [delphi-br] Re: Master/Detail DBExpress > - Auto-increment > > > > Vou tentar... > > > > - Faço um append na master. > > - No evento AfterInsert da master (estava no > > BeforePost), executo o select que trás o próximo > valor > > do genterator da master (select first 1 > > gen_id(generator_id, 1) as id from RDB$DATABASE). > > - Faço um append na detail. > > - No evento AfterInsert da detail (tentei também > no > > BeforePost), atribuo o valor da chave da master à > > chave estrangeira da detail (campo que faz o link > das > > duas tabelas) e executo o select que trás o > proximo > > valor do generator da detail. > > - O erro dá no momento do post da detail. > > > > []´s > > > > Luis Alberto. > > > > > > > > > > > > --- Bruno Lichot - Micrologos > > <[EMAIL PROTECTED]> escreveu: > > > > > vc poderia tentar descrever como e o processo q > gera > > > o erro, sei la..... > > > tentar passar mais detalhes para q possa te > ajudar > > > melhor? > > > > > > as ordens > > > > > > []´s > > > Bruno Lichot > > > Micrologos Dream Team > > > Equipe ClubeDelphi DevMedia > > > > > > [EMAIL PROTECTED] > > > [EMAIL PROTECTED] > > > > > > www.micrologos.com.br - www.clubedelphi.net - > > > www.delphirio.assespro-rj.org.br > > > ----- Original Message ----- > > > From: "luisalbertolopes" > > > <[EMAIL PROTECTED]> > > > To: <delphi-br@yahoogrupos.com.br> > > > Sent: Monday, September 26, 2005 9:47 AM > > > Subject: [delphi-br] Re: Master/Detail DBExpress > - > > > Auto-increment > > > > > > > > > Bem, > > > > > > Na construção, uso a estrutura que falei. > Parece-me > > > que até aí tá > > > tudo certo. Ele chega a gerar os DataSetFields, > sem > > > problema. > > > > > > Na configuração, alterei algumas coisas que > achei > > > que pudesse ser, > > > sem sucesso. > > > > > > Para pegar o valor das chaves, uso, no > BeforePost do > > > respectivo > > > ClientDataSet, o seguinte SQL: > > > > > > select first 1 gen_id(generator_id, 1) as id > from > > > RDB$DATABASE > > > > > > Tentei isso em outros pontos, também sem > sucesso. > > > > > > []´s > > > > > > Luis Alberto. > > > > > > --- Em delphi-br@yahoogrupos.com.br, [EMAIL PROTECTED] > > > escreveu > > > > Olha o DBXdeveria estar gerenciando isso sim, > > > tenho em meus > > > sistemas esse > > > > tipo de cadastro e funcionam sem problemas, > > > somente para alguns > > > casos onde > > > > as tabelas envolvidas são mto grandes e q fica > > > meio lnto, mas dae eu > > > > resolvo com um master detail turbinado q tive > > > inventar..heheh.. > > > > > > > > ambos funcionam sem problemas. o erro pode > estar > > > sendo devido a > > > forma de > > > > contrução, configuração ou geração de chaves > para > > > os campos. > > > > > > > > espero conseguir te ajudar, vc ja olhou os > meus > > > materiais a > > > respeito? > > > > > > > > []´s > > > > Bruno Lichot > > > > > > > > > > > > > Pessoal, > > > > > > > > > > Estou com um problema aki q não havia > enfrentado > > > antes. Tenho um > > > cadastro > > > > > master/detail, sendo a chave das duas > tebelas > > > campos auto- > > > incremento. > > > > > Uso DBExpress: > > > > > > > > > > TSQLQueryMaster -> TDataSetProviderMaster -> > > > TClientDataSetMaster - > > > > > TDataSourceMaster > > > > > TSQLQueryDetail -> > TDataSourceLinkMasterDetail > > > -> > > > TClientDataSetDetail - > > > > > TDataSourceDetail > > > > > > > > > > Até aí, tudo bem. > > > > > > > > > > O problema é quando tento inserir um > registro na > > > detail, dá o > > > seguinte > > > > > erro: > > > > > > > > > > 'No corresponding master record found.' > > > > > > > > > > Como vocês têm tratado esses casos? Terei > que > > > abrir uma > > > transação, salvar > > > > > a master e depois inserir os registros da > > > detail? O DBExpress não > > > deveria > > > > > tratar a transação, nesses casos, > considerando > > > já a existência da > > > master, > > > > > uma vez que já tenho o valor da chave das > duas > > > tabelas, no > > > momento da > > > > > inserção? > > > > > > > > > > Já procurei na net, mas os exemplos que > > > encontrei não > > > acrescentaram nada > > > > > ao que já fiz. > > > > > > > > > > Será que alguém poderia me ajudar? > === message truncated === __________________________________________________ Faça ligações para outros computadores com o novo Yahoo! Messenger http://br.beta.messenger.yahoo.com/ -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] ou [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html