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

 


Responder a