[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