[firebase-br] Dúvidas Auto Incremento - Mestre/Detalhe + ApplyUpdates

Paulo R. Biazotto prbiazto em ig.com.br
Qua Fev 9 14:24:35 -03 2005


Olá pessoal, estou ingressando no mundo Delphi/Firebird e estou encontrando
algumas dificuldades. Estou tentando criar um cadastro de pedido usando
DBExpress (Delphi 7) da seguinte forma:

Tabela de Pedidos:
SQLQuery: Select * from Pedidos -> DataSetProvider -> ClientDataSet ->
DataSource

Tabela de Itens:
SQLQuery: Select * from Itens-> DataSourceLigacaoPedidos -> ClientDataSet ->
DataSource

Tabela de Clientes:
SQLQuery: Select Codigo,Nome from Clientes -> DataSetProvider ->
ClientDataSet -> DataSource

Se eu não usar autoincremento no banco de dados e digitar o número do pedido
funciona normalmente, porém se eu usar o autoincremento no banco quando
entro na tabela de itens e tento salvar o pedido (Post + ApllyUpdates +
Refresh) o pedido é gravado mas o ponteiro dos pedidos é posicionado no
registro anterior.
Outra dúvida que tenho é qual o melhor momento de aplicar o ApplyUpdates,
estou colocando ele nos eventos AfterPost dos ClientDataSets.
Para escolher o cliente do meu pedido estou usando um lookupcombobox,
preciso realmente de todos os componentes que coloquei. Tem alguma outra
maneira de fazer isso?
Gostaria que vocês usuários mais experientes criticassem a estrutura dessa
minha aplicação, me digam se existe outra forma de criar um formulário
mestre/detalhe, possíveis problemas que ainda não consigo enxergar, e etc...

Muito obrigado pela atenção e desculpem-me pela quantidade de perguntas

Paulo Rogério Biazotto
Jáu - SP









Mais detalhes sobre a lista de discussão lista