Como saber o código Generator após o insert ?

15/12/2005

0

Pessoal

Uilizo FB 1.5

Tenho uma tela com uma query.

Esta query tem um insert:
  INSERT INTO PEDIDO (CD_CLIENTE,DATA,HORA) 
  VALUES (:CD_CLIENTE,:DATA,:HORA) 


a tabela PEDIDO tem uma chave primária CODIGO que é preenchida através de um genenrator:

Após executar o seguinte código, preciso exibir num Edit o valor que o campo CODIGO recebeu, [b:c621e072b1]como ?[/b:c621e072b1]

with QPedido do
begin
  close;
  parambyname(´cd_cliente´).AsInteger := EdtCdCliente.Value;
  parambyname(´data´).AsDate := EdtData.Value;
  parambyname(´hora´).AsTime := EdtHora.Value;
  execsql;
end;




obs.: tenho vários micros na rede executando essa operação ao mesmo tempo.

obrigado
Diogo


Diogoalles

Diogoalles

Responder

Post mais votado

15/12/2005

certo...
mas é isso que não sei fazer...
tenho a procedure q tem o código acima que executa a QPedido.
após dar o execsql e ter inserido o registro preciso deste código que foi gerado...
precisa saber como identificá-lo.

obrigado

Diogo


Diogoalles

Diogoalles
Responder

Mais Posts

15/12/2005

Edilcimar

após o append ou insert, pegue o valor do generator e jogue dentro de uma variável, aí vc faz o que quiser


Responder

15/12/2005

Edilcimar

With IBQuery1 do
Begin
Close;
SQL.Clear;
SQL.Add(´Select gen_id(NOMEGERADOR_GEN, 1) from RDB$DATABASE´);
IBQuery1.Open;
NumerpDesejado := IBQuery1.Fields[0].AsInteger;
End;
Coloque isto depois do append e antes do post, o fields[0] é pq é o 1° campo


Responder

15/12/2005

William Thiago

Você preenche o codigo com uma trigger BI?
A solução que eu encontrei foi a seguinte. Utiliza a SPO para pegar o valor do generator.

COD = GEN_ID(nomedogenerator,1)

INSERT INTO blablabla (cod, nome, ...) VALUES (COD, ´OI EU SOU FULANO´, ...)

E faça o retorno da procedure, pra pegar no Delphi...
Não me lembro muito bem da sintaxe, há muito não programo no FB/IB. Mas, ta dada a dica ;)

[]´s


Responder

15/12/2005

Diogoalles

UHMM.. Blz...

não utilizo trigger de BI.

Vou ver se consigo..

obrigado !


Responder

15/12/2005

Technos

Aew diogo...

Dá uma sacada nesse código:

...
select gen_id(SOMA_CONTAGEM, 1) as Cod from rdb$database
...

cria uma variavel global por exemplo, e faz isso:

minhavariavel := query.fieldbyname(´COD´).value

é mais ou menos assim, só pra ter uma ideia do que fazer.

Falowww


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar