como uma variavel := o generetor
Caros colegas
Estou iniciando agora com o interbase, como eu faço para uma variavel receber o valor do generator.
O meu problema é que quando o meu cliente entra na tela de vendas ele quer ir para a ultima venda, abrindo o db e dando um Last dá certo mais é lento se eu souber o nº do generator e posso dar um select
obrigado
Estou iniciando agora com o interbase, como eu faço para uma variavel receber o valor do generator.
O meu problema é que quando o meu cliente entra na tela de vendas ele quer ir para a ultima venda, abrindo o db e dando um Last dá certo mais é lento se eu souber o nº do generator e posso dar um select
obrigado
Odlave
Curtidas 0
Respostas
Delphi32
25/02/2005
para pegar o valor atual de um generator use a seguinte SQL:
Acho que deve ter um jeito mais fácil de consultar o banco de dados pelo valor do generator, mas eu mesmo não sei.
Espero ter ajudado de alguma forma! Até!
SELECT GEN_ID(NOME_DO_GENERATOR,0) FROM RDB$DATABASE
Acho que deve ter um jeito mais fácil de consultar o banco de dados pelo valor do generator, mas eu mesmo não sei.
Espero ter ajudado de alguma forma! Até!
GOSTEI 0
Odlave
25/02/2005
obrigado pela ajuda
Mais este codigo eu usei a cada select aumenta o numero do generator
o generator ex: é 90
DM.TQGeral.SQL.Add(´SELECT GEN_ID(COMPRAS1_NLANC_GEN,1) FROM RDB$DATABASE´);
DM.TBCompras1.SQL.Add(´select * from compras1 where nlanc = ´+DM.TQGeral.Fields[0].asString+´´);
o generator ex: é 91
se alguem tiver mais alguma solução
ogrigado
Mais este codigo eu usei a cada select aumenta o numero do generator
o generator ex: é 90
DM.TQGeral.SQL.Add(´SELECT GEN_ID(COMPRAS1_NLANC_GEN,1) FROM RDB$DATABASE´);
DM.TBCompras1.SQL.Add(´select * from compras1 where nlanc = ´+DM.TQGeral.Fields[0].asString+´´);
o generator ex: é 91
se alguem tiver mais alguma solução
ogrigado
GOSTEI 0
Afarias
25/02/2005
dê mais uma olhada no código q o delphi32 postou:
SELECT GEN_ID(NOME_DO_GENERATOR, [color=red:eb1adf2a58][size=18:eb1adf2a58][b:eb1adf2a58]0[/b:eb1adf2a58][/size:eb1adf2a58][/color:eb1adf2a58]) FROM RDB$DATABASE
quando vc usa 0 (zero) vc obtem o valor atual do generator, e não ele + 1
T+
SELECT GEN_ID(NOME_DO_GENERATOR, [color=red:eb1adf2a58][size=18:eb1adf2a58][b:eb1adf2a58]0[/b:eb1adf2a58][/size:eb1adf2a58][/color:eb1adf2a58]) FROM RDB$DATABASE
quando vc usa 0 (zero) vc obtem o valor atual do generator, e não ele + 1
T+
GOSTEI 0
Delphi32
25/02/2005
Não entendi direito. Você diz que esse código não funciona porque incrementa o generator? Se for isso, repare que depois do nome do generator você deve passar o parametro ´0´ ao invés de ´1´ no seu código.
O segundo parâmetro da função GEN_ID indica quanto deve ser incrementado do generator, logo, se você passar zero ele vai retornar o valor atual do generator.
Até!
O segundo parâmetro da função GEN_ID indica quanto deve ser incrementado do generator, logo, se você passar zero ele vai retornar o valor atual do generator.
Até!
GOSTEI 0