resolvi usando um refresh e um query.last dai consigo pegar o id.
jb como faço para recuperar o id od generetor antes do post? 2009/4/30 JB <josebened...@gmail.com> > > > existe returning no insert do firebird, mas para seu caso aconselho > recuperar o id do generator antes de dar o post, ou até mesmo > apresentar o id para o usuário na inclusão, retirando a chamada do > generator da trigger, mas isto elimina sequencias de acordo com os > cancelamentos d registros... se não tiver problema acho que pode ser > uma solução. > > 2009/4/30 Rubem Nascimento da Rocha > <djpardalro...@hotmail.com<djpardalrocha%40hotmail.com> > >: > > > > > > > > > > > O q vc queria é que o SGBD fosse inteligente a ponto de notificar a > > aplicação cliente e o dataset do Delphi pudesse fazer isso automático pra > > vc. E até onde me consta, nenhum SGBD no mercado tem um esquema de > callback > > que pudesse ser implementado em camadas de acesso baseadas no dataset do > > Delphi e q permitisse aos datasets do Delphi terem essa inteligência. Ou > > seja, não existe receita mágica, pulo do gato ou (ARGH!) gambiarra! Ou > usa o > > método Refresh() do DataSet ou abre e fecha a consulta. > > > > Sds. > > > > To: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> > > From: govoni.fel...@gmail.com <govoni.felipe%40gmail.com> > > Date: Thu, 30 Apr 2009 13:05:36 -0300 > > Subject: Re: [delphi-br] firebird - acessar campo auto incremento > > > > desculpe RUBEM > > > > na verdade nao é erro, e o data module noa tem nenhum codigo, como > > o firebird nao tem o auto incremento, logo apos o post nao esta acessivel > o > > valor do id somente depois do refresh. eu queria saber se tem uma maneira > > mais correta pra resover isso ou se vou ter q faze uma gambiarra. > > > > 2009/4/30 Rubem Nascimento da Rocha > > <djpardalro...@hotmail.com<djpardalrocha%40hotmail.com> > > > > > >> > >> > >> > >> Só isso é pouco e vago pra analisar o problema! Precisaria olhar o > código > >> desse suposto data module de nome DMGeral. E ainda não sei qual a camada > >> de > >> acesso a dados vc está usando (BDE, ADO/dbGo, dbExpress, etc.). Mas > teria > >> que olhar o código do data module pra saber o q vc fez errado! > >> > >> Sds. > >> > >> P.S.: Meu nome é no singular! > >> > >> > >> > >> To: delphi-br@yahoogrupos.com.br > >> <delphi-br%40yahoogrupos.com.br><delphi-br% > 40yahoogrupos.com.br> > >> From: govoni.fel...@gmail.com <govoni.felipe%40gmail.com><govoni.felipe% > 40gmail.com> > >> Date: Thu, 30 Apr 2009 12:53:40 -0300 > >> Subject: Re: [delphi-br] firebird - acessar campo auto incremento > >> > >> desculpe rubens acho q nao me expressei bem: > >> > >> eu criei o generetor e o trigger, mas minha duvida e no delphi. > >> > >> tenho um: > >> > >> DMGeral.qryCompras.Append; > >> DMGeral.qryCompras.Post; > >> > >> e em outra procedure, faço isso > >> > >> dmgeral.qryProdutos.filedbyname('id_compra').value := > >> dmgeral.qryCompras.filedbyname('id_compra').value; > >> > >> porem ele retorna vazio, se eu der um refresh ele retorna para o > primeiro > >> registro > >> da query. preciso atualizar a query para pegar o id_compra. > >> > >> 2009/4/30 Rubem Nascimento da Rocha > >> <djpardalro...@hotmail.com <djpardalrocha%40hotmail.com><djpardalrocha% > 40hotmail.com> > >> > > >> > >> > > >> > > >> > > >> > Até onde me consta, não existe a figura de campo auto-incremento no > >> > FireBird. Esse comportamento é simulado por meio de GENERATOR's e > >> TRIGGER's. > >> > > >> > Verifique o código da trigger que é executada no evento BEFORE INSERT > da > >> > tabela em questão. Nesse código, com toda a certeza, está sendo usada > a > >> > função GEN_ID() para incrementar o valor de um generator, e o valor > >> > resultante é atribuído ao campo chave da tabela. Para saber qual o > >> > último > >> > valor gerado pelo GENERATOR usado na trigger, use a seguinte sintaxe > >> SELECT > >> > SQL: > >> > > >> > SELECT GEN_ID(<nome_generator>, 0) FROM RDB$DATABASE > >> > > >> > Boa sorte. > >> > Sds. > >> > > >> > To: delphi-br@yahoogrupos.com.br <delphi-br%40yahoogrupos.com.br> > >> > <delphi-br%40yahoogrupos.com.br><delphi-br% > >> 40yahoogrupos.com.br> > >> > From: govoni.fel...@gmail.com <govoni.felipe%40gmail.com><govoni.felipe% > 40gmail.com><govoni.felipe% > >> 40gmail.com> > >> > Date: Thu, 30 Apr 2009 12:41:47 -0300 > >> > Subject: [delphi-br] firebird - acessar campo auto incremento > >> > > >> > > >> > boa tarde > >> > > >> > tenho uma procedure onde adiciono e salvo um registro mas preciso > >> > acessar > >> > o valor do campo auto incremento, como faço isso? pois se dou um > refresh > >> > ele volta para o primeiro registro. > >> > > >> > -- > >> > Felipe Govoni > >> > --------------------- > >> > GOVONI Sistemas > >> > Fone 8472-8718 > >> > www.govoni.com.br > >> > > >> > [As partes desta mensagem que não continham texto foram removidas] > >> > > >> > __________________________________________________________ > >> > Messenger 2009: Instale já! > >> > http://download.live.com > >> > > >> > [As partes desta mensagem que não continham texto foram removidas] > >> > > >> > > >> > > >> > >> -- > >> Felipe Govoni > >> --------------------- > >> GOVONI Sistemas > >> Fone 8472-8718 > >> www.govoni.com.br > >> > >> [As partes desta mensagem que não continham texto foram removidas] > >> > >> __________________________________________________________ > >> Faça já uma busa e ganhe um wink do Messenger. Está esperando o que? É > >> grátis! > >> http://www.ibud.com.br/ > >> > >> [As partes desta mensagem que não continham texto foram removidas] > >> > >> > >> > > > > -- > > Felipe Govoni > > --------------------- > > GOVONI Sistemas > > Fone 8472-8718 > > www.govoni.com.br > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > __________________________________________________________ > > Messenger 2009: Instale já! > > http://download.live.com > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > -- > ____________________________ > José Benedito > Software Developer > +55 19 8116-7826 > msn: jb_holam...@hotmail.com <jb_holambra%40hotmail.com> > skype:jb.sologix > > -- Felipe Govoni --------------------- GOVONI Sistemas Fone 8472-8718 www.govoni.com.br [As partes desta mensagem que não continham texto foram removidas]