Fernando Bossini escreveu: > Opa! > > Desculpem estar perguntando aqui no forum, mas alguém trabalha com > Zeoslib e Delphi? > Como fazer mestre/detalhe? > > Se insiro no banco os dados manualmente, eles aparecem no programa de > forma correta, ou seja, o cabeçalho com seus respectivos itens... mas > quando tento fazer uma inserção no sistema ele somente grava o mestre > e NAO os detalhe. Percebi que quando dou um applyupdates no Mestre, o > Detail é tipo limpado, apagado... > > Connect: TZConnection; > Connect.TransactionIsolationLevel := tireadcommitted; > > Master: TZQuery; > Master.CachedUpdates := True; > Master.SQL := 'select * from master'; > > dsMestre: TDataSource; > dsMestre.Dataset := Master; > > Detail: TZQuery; > Detail.CachedUpdates := True; > Detail.SQL := 'select * from detail where codi_master = :codi_master'; > Detail.DataSource := dsMestre; > > PROCESSO QUE ESTOU REALIZANDO: > > Master.Insert; > --->Preenchimento dos campos do master... > Detail.Insert; > ---->Preenchimento dos campos do detail... > Detail.Post; > Detail.Insert; > ---->Preenchimento dos campos do detail... > Detail.Post; > Detail.Insert; > ---->Preenchimento dos campos do detail... > Detail.Post; > Master.Post; > Master.ApplyUpdates; > Detail.ApplyUpdates; > > > ME AJUDEM! no consegui ver onde vc passa o parametro :codi_master
bom... eu faço da seguinte forma no insert do marter faz o campo serial receber um 'select nextval...' assim vc pega o nextval no evento insert assim a tabela filha pode receber o id da tabela pai mesmo sem a pai estar no banco ;) uso a mesma técnica em plpgsql, tem funcionado muito bem ---------------------------------------------------------------------------------- Esta mensagem foi verificada pelo sistema de Anti-virus da SJB Solados. _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
