Fórum Generator #191943
31/10/2003
0
Bom, uso Dbexpress...ClientDatas e Firebird, tenho uma tela de cadastro de produto, no qual o campo codProduto é auto incremento(Generator), a questão é que toda vez q inserir um produto o meu Dbedit pegue o numero do generator, coisa que não tá fazendo, segundo nosso amigo A. Farias que relatou para nossos outros amigos, eu teria que fazer da seguinte forma:
With dm.sqlProduto do
begin
close;
commandText:=´Select GEN_ID(GEN_PRODUTO_ID,1) from rdb$database´;
Open;
dbeCodigo.Text := inttostr(Fields[0].AsInteger);
End;
Só que usando desta forma,o contador já grava direto no banco, e se derrepente o usuário cancelar a ação?! bom ai eu tentei fazer da seguinte forma:
With dm.sqlProduto do
begin
close;
commandText:=´Select GEN_ID(GEN_PRODUTO_ID,0) from rdb$database´;
Open;
dm.cdsProduto.insert;
dbeCodigo.Text := inttostr(Fields[0].AsInteger+1);
End;
Tudo até ai funcionou, porém depois de preenchido meu cadastro de produto e vou mandar gravar ´ dm.cdsProduto.ApplyUpdates(0);´ acontece o erro: ´Table unKnown rd$database At line 1, column 523.´
Se o A. Farias ou outro colega do forum, eu agradeço, pois gostaria de poder usar o GENERATOR, em de criar tabelas para colocar contadores.
Jelves
Jelves
Curtir tópico
+ 0Posts
31/10/2003
Luizfernando777
Mas no IB eu faço uma Trigger para o meu generator
Gostei + 0
31/10/2003
Luizfernando777
set Term!!
create Trigger idClientes for Clientes before insert position 0 as
begin
new.Record=Gen_id(idClientes,1);
end!!
Set Term!!
Gostei + 0
31/10/2003
Jelves
Gostei + 0
31/10/2003
Luizfernando777
esse exemplo que lhe enviei vc faz dentro da base de dados,
o banco de dados é que gerencia e não o seu projeto.
Gostei + 0
31/10/2003
Jelves
Gostei + 0
31/10/2003
Jelves
Gostei + 0
02/11/2003
Luizfernando777
tem dois tipos,
o que pega o últ. e o q pega o que está faltando no meio da contagem,
tipo : 123 567
no caso é 4
Gostei + 0
02/11/2003
Jelves
Jelves
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)