[firebase-br] Gravação Mestre Detalhe

Renan Cruz de Almeida renan.aju em terra.com.br
Ter Out 20 20:54:18 -03 2009


Você deve esquecer os componentes de acesso ao banco de dados 
disponibilizados, por exemplo, pelo delphi, para não lhe atrapalhar num 
ambiente de rede.

Você deve criar uma interface que acumule todos os dados do pedido e de 
seus itens, poderá se utilizar de componentes "normais" como edit, 
string grid, que não são linkados diretamente ao banco de dados.

Depois que tudo for digitado pelo operador, ele vai acionar um botão de 
incluir que acionará a rotina de inclusão do pedido, a qual vai reservar 
naquele momento a tabela de pedido, para que possa ser gravado um novo 
pedido, junto com seus itens, assim não existirá qualquer possibilidade 
de erro na gravação, nem mesmo qualquer possibilidade de outro usuário 
da rede gravar um pedido com o mesmo número de pedido. Após a gravação 
do pedido a rotina finalizará liberando a tabela na rede para outro 
usuário também gravar pedido. Você precisa implementar um semáforo para 
controle ao recurso compartilhado.

Por fim, ressalvo ainda que a sua dúvida não é do firebird e sim 
relacionada à análise e modelagem de sistema.

[]'s
Renan


joao_jma escreveu:
> Pessoal, gostaria de uma opinião de vocês...
>
> Quando utilizam tabela mestre / detalhe, como gravam a referência na tabela detalhe se o sistema é utilizado em rede?
>
> Detalhando:
>
>     Imaginem uma tabela de pedidos e uma tabela de itens do pedido:
>
>     PEDIDO(NUMERO, DATA, CLIENTE...)
>
>     ITENS_PED(NR_PEDIDO, CODPROD, VLUNIT, QTDE...)
>
>     Como gravam na tabela ITENS_PED o campo NR_PEDIDO ???
>
> ------------------------------------------------------------------------------------------------------------------
>
> Estou com problemas com isso quando é feito a gravação em rede simultaneamente.
>
> Antecipo meus agradecimentos
>
> []'s
>
> João
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>   





Mais detalhes sobre a lista de discussão lista