Fórum duvida com generator!! #52529
28/08/2005
0
pq quando crio o generator e chamo a sql:
select gen_id(gen_clientes_id,1) from rdb$database
ele faz tudo bunitinho, mas se insiro 1 registro, cancelo ele, o generator continua gerando e n continua de onde parei?
ex:
query.insert
gerou 1
query.cancel
cancelou, quando insiro de novo ele vai 2 e nao volta pro 1 de onde nem inseri!
como contornar isso?
um abraço
[color=green:b3ac60bda8]Movido de Delphi para Interbase/Firebird[/color:b3ac60bda8]
Njuniorba
Curtir tópico
+ 0Posts
29/08/2005
Catunda
Colega, o comando abaixo, utilizado por vc está correto:
select gen_id(gen_clientes_id,1) from rdb$database
O problema é o momento em que vc está disparando o comando.
Pelo que percebi vc esta utilizando logo apos o insert, e uma vez feito o valor do generator não volta atras.
Eu resolvi esse problema fazendo a incrementação do generator no evento before post do dataset, assim somente executo o comando de incrementação do generator se confirmar a inclusão do registro.
Contudo, essa minha maneira tem o incoveniente de não mostrar logo o código, no caso, do novo cliente, mas há formas de tb contornar esse problema, e isso depende do modo de lançamento do seu formulario, isso é, se vc está lançando os dados em um dbgrid ou em dbedit... etc...
Valeu?????????
Gostei + 0
29/08/2005
Motta
Gostei + 0
29/08/2005
Gandalf.nho
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)