Sobre Mestre-Detalhe com ClientDataSet
pessoal tenho um ClientDataSet (Pai) conectado com a seguinte estrutura
e outros Dois (Filhos) com a seguinte estruturapois bem quando eu ligo com mestre-detallhe via (DataSetField ou qualquer outra estrutura) funciona beleza pra navegação, porém quando eu crio um novo aluno ele é inserido corretamente... e depois quando eu pesso outro ele recebe os dados mas no [b:8d5eac1583]Post[/b:8d5eac1583] do ClientDataSet de Alunos ele me dá o seguinte erro - [b:8d5eac1583]LinkFields to detail must be unique.[/b:8d5eac1583]... isso dando ou não um [b:8d5eac1583]ApplyUpdates[/b:8d5eac1583] na primeira inserção... acho que não é questão de chaves duplicadas até porque não é isso que o erro diz e eu mesmo forcei a entrada de chaves diferentes... :?:
Alunos ------------ CodAluno Nome CodPai CidMae
Pais ---------- CodPai Nome Tipo // Se é pai ou mãe
Bruno Belchior
Curtidas 0
Respostas
Kotho
07/04/2005
É simples... o código do Pai (codPai) não é atribuido automaticamente nas tabelas Filhas... é preciso atribuir manualmente... eu costumo colocar no Evento OnAfterInsert das Tabelas Filhas... Pode ser, também, no OnBeforePost (funciona melhor quando se tem um DBgrid).
GOSTEI 0
Bruno Belchior
07/04/2005
mas eu não quero atribuílos necessariamente...
GOSTEI 0
Kotho
07/04/2005
Desculpe Bruno... acho que não tinha entendido bem o seu problema... Acho que o que vc está querendo, não seria, necessáriamente, um Master/Detail, mas sim um LookUp, ou seja, quando inclui-se um novo aluno, e atribui-se o Pai ou a Mae, aparece-lhe o nome... não é isso?
GOSTEI 0
Cabelo
07/04/2005
Como vc ligou os componentes que fazem a inserção do registro?
Vc usa os mesmo componentes tanto para navegação quanto para Manutenção de registro?
Vc usa os mesmo componentes tanto para navegação quanto para Manutenção de registro?
GOSTEI 0
Bruno Belchior
07/04/2005
Desculpe Bruno... acho que não tinha entendido bem o seu problema... Acho que o que vc está querendo, não seria, necessáriamente, um Master/Detail, mas sim um LookUp, ou seja, quando inclui-se um novo aluno, e atribui-se o Pai ou a Mae, aparece-lhe o nome... não é isso?
de certa forma sim, porém precizo de todos os campos e não apenas o nome...GOSTEI 0