Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

[VAZA]

DBExpress Master-Detail = CRUD com 1 para N

Recommended Posts

Pessoal,

eu consigo trabalhar normalmente com MASTER-detail utilizando dbexpress, quando possuo relacionamento 1-1.

Dai eu consigo fazer o crud normalmente com esse MASTER detail.

Porém, como eu faço para trabalhar utilizando relacionamento 1-N?

Um exemplo: Um usuário possui vários contatos

dai eu com esse relacionamento, eu poderia fazer um crud dos contatos DO usuário selecionado.

 

Qual a melhor forma de fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá... tem a seguinte forma (se for o que eu entendi...)

 

Você quer fazer as Alterações CRUD em qual tabela? Na master ou na details?

 

Então, para fazer um sql com as duas tabelas e depois fazer as alterações necessárias em uma das duas (não sei se dá pra alterar os valores das duas tabelas (master e datail) ao mesmo tempo...) mas segue...

 

exemplo

 

select usu_codigo, usu_nome , con_codigo, con_nome

from usuário

inner join contato on (contato.con_usuario = usuario.usu_codigo)

 

Se for essa a tabela e você quer fazer as operações na tabela contatos no provider você vai colocar no evento onGetTableName:

procedure TForm1.DataSetProvider1GetTableName(Sender: TObject;   DataSet: TDataSet; var TableName: String); 
begin   
TableName := 'Contato'; 
end;

 

E nos providerFlags do ClientDataSet e do DataSet você deve colocar os providerFlags todos como falso para os campos da tabela USUARIO

 

Tente isso... Se for o que eu entendi...

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.