incluindo registro no form de cadastro

26/05/2008

1

pessoal boa tarde a todos
sou iniciante em delphi e to com uma dúvida que está me deixando travado no desenvolvimento de um sisteminha simples que to tentando montar...

uso delphi + firebird 1.5

** estou om um formulário de clientes - tenhos os botões do formulario...quando clico no botão incluir, já traz o proximo codigo da tabela - mas acho isso errado - por ex: se for trabalhar em rede, um usuario clica pra incluir pega o codigo 5 o outro de outra maquina clica e pega o 6 - e se o usuario que tinha o cod 5 cancelar, o proximo usuario vai usar o cod 6 e o 5 fica onde? perdido?

eu queria exibir o codigo apena depois que clicar no botão gravar? tem como fazer? o que faço?

codigo usado atualmente: no datamodule after post:

Dm.SimpleDataSetFornecedores.ApplyUpdates(0);


uso o seguinte código para o evento OnClick do botão
inserir:

var
prox:integer;
begin
Dm.SimpleDataSetFornecedores.last;
prox:=Dm.SimpleDataSetFornecedores.fieldbyname(´cdfornecedor´).
asInteger +1;
Dm.SimpleDataSetFornecedores.Append;
Dm.SimpleDataSetFornecedores.fieldbyname(´cdfornecedor´).asinteger:=prox;
Dbedit2.SetFocus;
end;

Para o evento OnCLick do BtGravar:
begin
Dm.SimpleDataSetFornecedores.post;
end;

*** tendo esses parametros, como mudar para o codigo ser exibido apenas depois que gravar no banco?

Na hora que clicar no INSERIR o campo código fica em branco - na hroa que clico no GRAVAR ai sim, tem que me dar o código do cadastro...alguem pode me ajudar?????


Responder

Posts

26/05/2008

Javapaulomg

Amigo um generator e uma trigger poderia lhe ajudar neste caso, pois com o uso dos dois em conjunto e possível simular um campo auto-incremental, que ao meu ver seria a solução mais correta para seu problema...


Responder

27/05/2008

Brunodsr

Caso o sequencial seja realmente importante para o seu sistema, não utilize o código como chave da tabela, crie um id independente.

Ex.:

Pedido
id pk
Numero unique constraint
...
...
...

Espero ter ajudado


Responder

27/05/2008

Martins

Generator + Trigger no seu Banco para lhe dar o q vc deseja.


Responder