Vc pode fazer o seguinte: SET TERM ^ ;
CREATE OR ALTER PROCEDURE PEGA_GEN_CLIENTE returns (wid integer) as BEGIN SELECT DISTINCT GEN_ID(GEN_CDCLIENTE, 0) FROM BDCLIENTES INTO :Wid; END^ SET TERM ; ^ Se vc utilizar com o parametro 1, ele ira somar o seu generator, mesmo que vc esteja só consultando. Logo após o ApplyUpdates, execute: DataModule.Pega_Gen_Cliente.ExecProc. SuaChave := DataModule.Pega_Gen_Cliente.Params[0].AsInteger; Espero que ajude. Vinicius > > > Olá Srs > > Como eu faço para ter o valor no dbedit da minha primary key que é gerada > de um generator do firebird > > Logo após um um ApplyUpdates(0) sem ter que abrir e fechar o formulário. > > O Problema é que eu só abro um registro por vez em um formulário e uso o > valor da chave como parâmetro para localizar o registro, no momento da a > adição dos dados e o uso do ApplyUpdates(0) não está vindo o valor primary > key e com isso eu não vou conseguir saber o valor gerado e re abrir o > registro para visualização. > > Sds > > Gilvan Costa > > > -- _________________________________ T.·.F.·.A.·. Fellipe Henrique ---------------------------------------------------------------------------- --- CAMPANHA POR UMA INTERNET SEGURA Proteja o endereço de seus amigos como estou protegendo o seu. Ao enviar mensagens use SEMPRE o "Cco" (cópia oculta). Assim TODOS os endereços estarão preservados. E, claro, antes de encaminhar um e-mail, delete todas as informações que apareçam no corpo do e-mail e que possam ser usadas por hackers. ####################################### [As partes desta mensagem que não continham texto foram removidas] ------------------------------------ -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>